Clean architecture

  • The [[web]] is a [[delivery mechanism]].
  • [[Architecture]] tells the intent of the application.
  • Use [[use case]]s. Use case - [[object]], [[interactor]]. Contains app-specific [[business rule]]s
  • user ↔ boundaries ← interactors → entities
  • [[MVC]] is real for small components like buttons etc not for pages.
  • [[Database]] should be treated as a [[IO device]].
    • Implements [[Interface]], method or [[entity gateway]].
    • Same thing with [[ORM]].
  • A good architecture allows you to defer until the last responsible moment.