L'architecture traditionnelle à trois niveaux est principalement divisée en couche d'interface métier, couche de logique métier et couche d'accès aux données
Couche d'interface métier : principalement la définition de l'API, y compris la définition du chemin des ressources et acceptation du message de demande, retour du message de réponse, codage de la demande et autres contenus définis ;
Couche de logique métier : cette couche comprend principalement le mappage des données DTO vers VO, l'écriture de la logique de base de l'entreprise, la combinaison de différents entrepôts de données et. doing business Logic ;
Couche d'accès aux données : principalement responsable du stockage des données, y compris le mappage des données VO vers PO, la définition de l'interface de données et l'écriture du mappage XML.
L'architecture en couches DDD peut également être appelée une architecture à quatre couches, principalement composée d'une couche d'interface utilisateur, d'une couche d'application, d'une couche de domaine et d'une couche de base
; Couche d'interface utilisateur : chargée de fournir des informations aux utilisateurs Afficher les informations et interpréter les instructions utilisateur, telles que les utilisateurs, les programmes, les scripts d'automatisation, les scripts batch, etc.
Couche d'application : principalement utilisée pour coordonner plusieurs services et objets de domaine agrégés ; orchestration et combinaison complètes de services, qui peuvent être ajustées localement ou pour ajuster les services à distance, y compris la vérification des autorités, le contrôle des transactions, l'anti-double exponentiation, etc., ne mettez pas la logique métier de base ici
Couche de domaine : implémentez le noyau ; logique, y compris les racines agrégées, les entités, les objets de valeur, les services de domaine, y compris les points d'extension métier, les règles de vérification, les services d'agrégation combinés et d'autres fonctions connexes
Couche de base : fournit une technologie générale et des services de base, y compris certains outils tiers ; , caches, bases de données, fichiers, etc., en utilisant une conception d'inversion de dépendances, découplée des autres couches.
L'évolution de l'architecture à trois niveaux vers l'architecture DDD se produit principalement dans la couche logique et la couche d'accès à la base de données
Ajout de DTO pour rendre les données frontales plus disponibles et plus flexibles ;
Trois La couche de logique métier de l'architecture de couche est remplacée par la couche d'application et la couche de domaine, de sorte que la logique métier ne soit pas confuse et que l'application réponde rapidement aux changements dans le front-end
Les changements de conception ; de la couche de base et de la couche d'accès aux données réalisent le réglage de base des ressources de base grâce au découplage d'inversion de dépendance pour faire face aux changements dans la technologie dominante.
Assembleur : conversion d'objets DTO et d'entité et échange de données, apparaissant en même temps que DTO
Dto : support de transmission de données, DTO peut transférer ; objets de domaine Isolés du monde extérieur ;
Façade : définition grossière de la granularité de l'interface, traitement des requêtes vers plusieurs services d'application ; abonnez-vous. Mettez le code lié à la publication et à l'abonnement. Ici, vous pouvez obtenir des abonnements à des services dans différents domaines ou des abonnements entre microservices ;
Couche de domaine
Agrégat : Le répertoire racine du progiciel d'agrégation, nommé en fonction du nom de l'agrégation, dans lequel les entités, les racines agrégées, les entités, la valeur. des objets et des services de domaine peuvent être définis, qui peuvent être désassemblés indépendamment Divisé en microservices ;
Event : stocke les événements Code logique lié aux entités et aux activités événementielles
Service : services de domaine, logique métier basée sur différentes combinaisons d'entités
Repository : code pour stocker les requêtes agrégées et persistantes ; objets de domaine ;
Couche de base
Config : stocke principalement le code lié à la configuration, tel que la configuration automatique de Springboot et la configuration des composants tiers intégrés
Exemple de code
;
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!