Heim >Java >javaLernprogramm >Was sind die dreistufige Java-Architektur und die hierarchische DDD-Architektur?

Was sind die dreistufige Java-Architektur und die hierarchische DDD-Architektur?

PHPz
PHPznach vorne
2023-05-15 10:25:053078Durchsuche

Dreischichtige Architektur

Die traditionelle dreischichtige Architektur ist hauptsächlich in Geschäftsschnittstellenschicht, Geschäftslogikschicht und Datenzugriffsschicht unterteilt

Was sind die dreistufige Java-Architektur und die hierarchische DDD-Architektur?

  • Geschäftsschnittstellenschicht: hauptsächlich die Definition der API, einschließlich Definition des Ressourcenpfads, Annahme von Anforderungsnachrichten, Rückgabe von Antwortnachrichten, Anforderungscodierung und anderer Definitionen; 🎜 🎜#

  • Geschäftslogikschicht: Diese Schicht dient hauptsächlich der Verarbeitung von Geschäftslogik und umfasst die Datenzuordnung von DTO zu VO, das Schreiben von Kerngeschäftslogik, die Kombination verschiedener Data Warehouses und die Durchführung von Geschäftslogik; 🎜 🎜#
  • Datenzugriffsschicht: Hauptverantwortlich für die Datenspeicherung, einschließlich Datenzuordnung von VO zu PO, Definition der Datenschnittstelle und Schreiben von Zuordnungs-XML.

  • DDD-Schichtarchitektur

  • DDD-Schichtarchitektur kann auch als Vierschichtarchitektur bezeichnet werden, die hauptsächlich aus der Benutzeroberflächenschicht und der Anwendung besteht Ebene und Domänenebene, Basisebene; Anweisungen wie Benutzer und Programme, Automatisierungsskripte, Batch-Skripte usw.;

Anwendungsschicht: Wird hauptsächlich zum Koordinieren mehrerer aggregierter Dienste und Domänenobjekte verwendet, um die Dienstorchestrierung abzuschließen und Kombination, und kann lokal angepasst werden. Sie können Remote-Dienste anpassen, einschließlich Autoritätsüberprüfung, Transaktionskontrolle, Verhinderung von Duplikaten usw. Geben Sie hier nicht die Kerngeschäftslogik ein #Domänenschicht: Implementieren Sie die Kernlogik, einschließlich Aggregatwurzeln, Entitäten, Wertobjekten, Domänendiensten, einschließlich Geschäftserweiterungspunkten, Überprüfungsregeln, kombinierten Aggregationsdiensten und anderen verwandten Funktionen; 🎜🎜#Basisschicht: Bietet allgemeine Technologie und Basisdienste, einschließlich einiger Toolklassen, Caches, Datenbanken, Dateien usw. von Drittanbietern, verwenden ein Abhängigkeitsinversionsdesign und sind von anderen Schichten entkoppelt.

Was sind die dreistufige Java-Architektur und die hierarchische DDD-Architektur?

Evolution
  • Die Entwicklung der dreistufigen Architektur zur DDD-Architektur erfolgt hauptsächlich in der Logikschicht und der Datenbankzugriffsschicht#🎜🎜 #

  • DTO hinzugefügt, um Front-End-Daten verfügbarer und flexibler zu machen;
  • #🎜🎜 #

    Die Geschäftslogikschicht der dreistufigen Architektur wird in die Anwendungsschicht und die Domänenschicht geändert, sodass die Geschäftslogik nicht verwirrend ist und die Anwendung schnell auf Front-End-Änderungen reagiert 🎜#

  • Grundschicht und Datenzugriffsschicht Designänderungen, Entkopplung grundlegender Ressourcen von Grundeinstellungen durch Abhängigkeitsumkehr, um Änderungen in der Mainstream-Technologie zu bewältigen.
  • Projektstruktur

Benutzeroberflächenschicht

Was sind die dreistufige Java-Architektur und die hierarchische DDD-Architektur?# 🎜🎜#

Assembler: DTO konvertiert und tauscht Daten mit Entitätsobjekten aus und erscheint gleichzeitig mit DTO;
  • Dto: Datenübertragungsträger, DTO kann Transferfelder Das Objekt ist von der Außenwelt isoliert;
  • Fassade: Grobe Schnittstellengranularitätsdefinition, die Anfragen an mehrere Anwendungsdienste verarbeitet;

    # 🎜🎜#Anwendungsschicht
  • event: Speichert hauptsächlich ereignisbezogene Codes, einschließlich zweier Unterverzeichnisse „Publish“ und „Subscribe“, in denen Veröffentlichungs- und Abonnement-bezogene Codes platziert werden . Hier können Sie Serviceabonnements in verschiedenen Bereichen erhalten. Es kann sich auch um ein Abonnement zwischen Microservices handeln. und stellt ein unabhängiges Stück Geschäftslogik bereit Stammverzeichnis des Aggregationspakets, entsprechend der Aggregationsbenennung, das Entitäten, Aggregatwurzeln, Entitäten, Wertobjekte und Domänendienste definieren und unabhängig in Mikrodienste aufgeteilt werden kann; 🎜🎜#Entity: Speichert aggregierte Wurzeln, Entity, Wertobjekt, Factory-Modus-bezogenen Code und einheitliche Entity-bezogene Logik. Alle werden in dieser Klasse unter Verwendung des Überlastungsmodus platziert #Event: Speichert Ereignisentitäten und aktivitätsbezogenen Logikcode #
  • #🎜 🎜#Repository: Code zum Speichern aggregierter Abfragen und persistenter Domänenobjekte: Speichert hauptsächlich konfigurationsbezogenen Code, z. B. die automatische Konfiguration von Springboot und die Konfiguration integrierter Komponenten von Drittanbietern #

Util: Speichert hauptsächlich Plattform, Entwicklungsframework, Nachrichten, Datenbank, Cache, Dateien, Busse, Gateways, Bibliotheken von Drittanbietern, allgemeine Algorithmen und andere grundlegende Codes. Sie können verschiedene Unterverzeichnisse für verschiedene Ressourcen erstellen Kategorien;

Was sind die dreistufige Java-Architektur und die hierarchische DDD-Architektur?

Beispielcode# 🎜🎜#

    Das obige ist der detaillierte Inhalt vonWas sind die dreistufige Java-Architektur und die hierarchische DDD-Architektur?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

    Stellungnahme:
    Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen