# Components

All Components must follow the Interfaces, Exceptions and Testing spec.

Components must:

  • Have one single responsibility
  • Name properties as nouns
  • Declare private/protected properties only

Components should:

  • Prefer composition over inherence
  • Prefer to implement immutability