Maison  >  Article  >  Java  >  Que sont l'architecture Java à trois niveaux et l'architecture hiérarchique DDD ?

Que sont l'architecture Java à trois niveaux et l'architecture hiérarchique DDD ?

PHPz
PHPzavant
2023-05-15 10:25:052995parcourir

Architecture à trois niveaux

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

Que sont larchitecture Java à trois niveaux et larchitecture hiérarchique DDD ?

  • 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.

Architecture en couches DDD

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

Que sont larchitecture Java à trois niveaux et larchitecture hiérarchique DDD ?

  •  ; 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.

Évolution

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

Que sont larchitecture Java à trois niveaux et larchitecture hiérarchique DDD ?

  • 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.

Structure du projet

Que sont larchitecture Java à trois niveaux et larchitecture hiérarchique DDD ?

Couche d'interface utilisateur

  • 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 ;

service : service d'application, qui encapsule, organise et encapsule principalement des services externes et fournit des services à gros grain. . C'est également un élément indépendant de la logique métier

  • 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 ;

Entité : stocke les racines agrégées, les entités, les objets de valeur, les codes liés au mode usine et la logique unifiée liée à l'entité, tous placés dans cette classe, en utilisant mode congestion ;

  • 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

Util : stocke principalement la plate-forme, le cadre de développement et les messages ; , bases de données, caches, fichiers, bus, passerelles. Pour les codes de base tels que les bibliothèques tierces et les algorithmes généraux, vous pouvez créer différents sous-répertoires pour différentes catégories de ressources

  • 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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer