Clean Architecture
Architecture 🟡 MidDefinition
Architecture en couches concentriques ou les dependances pointent vers l'interieur. Le domaine est au centre, independant des frameworks et de l'infrastructure.
Analogie
Un oignon : chaque couche protege le coeur (domaine) des details exterieurs (UI, DB, frameworks).
Exemple de code
// Domain (centre) - aucune dependance
class User { validate() { ... } }
// Use Case
class CreateUser { execute(dto) { ... } }
// Infrastructure (exterieur)
class PostgresUserRepo { save(user) { ... } }
Cas d'usage
Applications complexes avec logique metier riche qui doit survivre aux changements de frameworks.
Anti-pattern
Domaine qui depend du framework ORM ou du framework HTTP.