Les principes du Clean Architecture, ces principes se concentre sur une implémentation faiblement couplée de cas d’utilisation.
Cas d’utilisation en tant que structure d’organisation centrale, découplée des cadres et des détails technologiques.
Clean Architecture basés sur « domain-driven design » (DDD) & « Command and Query Responsibility Segregation » (CQRS).
- Domain : Celui-ci contiendra toutes les entités, énumérations, exceptions, interfaces, types et logiques spécifiques à la couche domaine.
- Application : Contient toute la logique d’application. Il dépend de la couche de domaine, mais ne dépend d’aucune autre couche ou projet. Cette couche définit les interfaces qui sont implémentés par des couches externes. Par exemple, si l’application doit accéder à un service de notification, une nouvelle interface serait ajoutée à l’application et une implémentation serait créée au sein de l’infrastructure.
- Infrastructure : Contient des classes permettant d’accéder à des ressources externes telles que des systèmes de fichiers, des services Web, SMTP (Simple Mail Transfer Protocol), SMS, etc. Ces classes doivent être basées sur des interfaces définies au sein de la couche application.
- Web / UI : Cette couche est une application d’une seule page basée sur Angular et ASP.NET Core. Cette couche dépend à la fois es couches Application et Infrastructure, cependant, la dépendance à l’infrastructure ne sert qu’à prendre en charge l’injection de dépendance. Par conséquent, seul Startup.cs doit référencer Infrastructure.