[JAVA] Erweiterung des 4-Tier-Modells der von Eric Evans befürworteten Architektur

Artikelübersicht

Eric Evans, der Erfinder des domänengetriebenen Designs, schlug das folgende vierschichtige Modell für die Programmentwicklung vor. ** ・ Kontrollschicht ・ ・ ・ Verantwortlich für die Verbindung zur App bei RestApi. ** **. ** ・ Anwendungsfallschicht ・ ・ ・ Verantwortlich für die Geschäftslogik der Anwendung. Hier werden die Methoden der Domänenschicht zusammengefasst. ** **. ** ・ Domänenschicht: Eine Schicht, die die allgemeine Verarbeitung beschreibt. Rufen Sie die Use-Case-Ebene auf. ** **. ** ・ Infrastrukturschicht ・ ・ ・ Verantwortlich für die technische Logik, die von externen Bibliotheken wie E-Mail und FTP-Verbindung abhängt. Wird von einer anderen Schicht als der Infrastrukturschicht aufgerufen. ** ** **

Domain-gesteuertes Design ist ein Konzept, das Anfang 2000 befürwortet wurde. Seitdem hat sich das domänengesteuerte Design weiterentwickelt, und es wurden neue Entwurfsmethoden entwickelt, die Domänenschichtmethoden wie CQRS und Event Sourcing kombinieren. Die Erweiterung der Domänenschicht hat das von Eric Evans vorgeschlagene Vierschichtmodell der Architektur gesättigt und das Design kompliziert. Dieser Artikel zielt darauf ab, dem ** Vier-Schichten-Architekturmodell ** Layer-Layer hinzuzufügen, um das domänengesteuerte Design komplexer und einfacher zu gestalten.

Fügen Sie dem 4-Schicht-Modell eine Missionsschicht hinzu, die die Methoden der Domänenschicht aggregiert

In der funktionsgesteuerten Entwicklung wird die Domänenschichtmethode von der Funktionseinheit (Federeinheit) aufgerufen, und Planung, Design, Codierung, Komponententest und Freigabe werden durchgeführt. https://www.lucidchart.com/blog/why-use-feature-driven-development

Durch das Erstellen einer Federklasse, die die Methoden der Domänenschicht aggregiert, fungiert sie als Vermittler zwischen dem Anwendungsfall und der Schicht und der Domänenschicht. Nach dem Modell der Feature Driven Development schlagen wir vor, eine ** Missionsschicht ** hinzuzufügen, die die Methoden der Domänenschicht zum ** 4-Schicht-Modell ** aggregiert. Das Folgende ist ein Vergleichsdiagramm des ** 4-Schicht-Modells ** und des ** 5-Schicht-Modells ** mit der hinzugefügten ** Missionsschicht **. ドメイン駆動設計の4層モデルと5層モデルの比較.png

Nebenwirkungen durch Hinzufügen einer Missionsebene zum 4-Ebenen-Modell

** Die Domänenschicht ist von der Anwendungsfallschicht isoliert ... Da die Domänenschicht von der Anwendungsfallschicht isoliert ist, breitet sich der Einfluss der Änderung der Anwendungsfallschicht nicht auf die Domänenschicht aus. ** ** **

** Ein Bereich zur Beschreibung der Logik von CQRS oder Event Sourcing kann bereitgestellt werden ... CQRS oder Event Sourcing können in der Missionsschicht beschrieben werden, sodass die Sichtbarkeit der Logik verbessert wird **

Richtung der zukünftigen Entwicklung des 5-Schicht-Modells

Der folgende Verlauf wird als Entwicklungsrichtung des ** 5-Schicht-Modells ** vorhergesagt.

** - Wenden Sie das Konzept der DCI-Architektur auf die Missionsschicht an, damit diese eine Vielzahl von Anforderungen der Anwendungsfallschicht erfüllen kann ** https://qiita.com/aLtrh3IpQEnXKN7/items/355ad12f82ac424abea3

** ・ Hierarchisieren Sie die Anwendungsfallschicht für jede Anforderungsebene und klären Sie den Grund für den Aufruf der Missionsschichtmethode ** https://qiita.com/aLtrh3IpQEnXKN7/items/853ecb3cd109dd016476

Recommended Posts

Erweiterung des 4-Tier-Modells der von Eric Evans befürworteten Architektur
[Rails] Registrieren Sie sich mit Devise nach Attributen desselben Modells
Der Inhalt der von CarrierWave gespeicherten Daten.
Verwenden Sie die where-Methode, um anhand des Werts eines anderen Modells einzugrenzen.