domain driven design hexagonale architektur · teil 1: these “die kombination von ddd und...
TRANSCRIPT
![Page 1: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/1.jpg)
DOMAIN DRIVEN DESIGN&
HEXAGONALE ARCHITEKTURvon Torben Fojuth / @Final_guy
in BremenBaue seit 10 Jahren Web-AnwendungenSchwerpunkte: Architektur, Coding Dojo, Clean Code Devloper
Neuland, Büro für Informatik
![Page 2: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/2.jpg)
TEIL 1: THESE“Die Kombination von DDD und Hexagonaler
Architektur bietet EntwicklInnen klareAntworten auf die zentrale Fragen ihres
alltäglichen Handwerks. ”
![Page 3: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/3.jpg)
WAS IST PASSIERT?
![Page 6: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/6.jpg)
TEIL 2: DOMAIN DRIVEN DESIGN
![Page 9: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/9.jpg)
BEGRIFFE1. Ubiquitous Language2. Bounded Context3. Entity/Aggregate & Value Object
![Page 10: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/10.jpg)
![Page 11: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/11.jpg)
![Page 12: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/12.jpg)
![Page 14: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/14.jpg)
UBIQUITOUS LANGUAGE
![Page 17: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/17.jpg)
ENTITYRepräsentiert ein identifizierbares "Ding"Kapselt GeschäftslogikHat einen Lebenszyklus / HistorieIst von der Datenhaltung abstrahiertGleichheit basiert auf ID
![Page 18: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/18.jpg)
VALUE OBJECTRepräsentiert Eigenschaft (eines Entities)Kapselt GeschäftslogikBekannte Beispiele: Money/Price & QuantityUnveränderlich implementiertGleichheit basiert auf der Gleichheit aller Eigenschaften
![Page 19: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/19.jpg)
AGGREGATESpezialform eines EntitiesIst Wurzel eines Objektbaumes
![Page 20: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/20.jpg)
APPLICATION SERVICERepräsentiert einen UseCase der DomäneOrchestriert was zu tun ist
![Page 21: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/21.jpg)
REPOSITORYBietet Zugriff auf EntitiesVerhält sich wie Collection
![Page 22: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/22.jpg)
TEIL 3: HEXAGONALE ARCHITEKTUR
![Page 23: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/23.jpg)
ZIELSETZUNG“Allow an application to equally be driven by
users, programs, automated test or batchscripts, and to be developed and tested in
isolation from its eventual run-time devicesand databases.”
Alistair Cockburn, 2005
![Page 24: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/24.jpg)
URSPRUNG
![Page 25: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/25.jpg)
S.O.L.I.D.Dependency Inversion Principle
![Page 26: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/26.jpg)
DEPENDENCY INVERSION
![Page 27: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/27.jpg)
HEXAGON
![Page 28: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/28.jpg)
PAKETSTRUKTUR
![Page 29: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/29.jpg)
TEIL 4: NUTZEN FÜR ENTWICKLER
![Page 30: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/30.jpg)
WO ÄNDERE/ERSTELLE ICH EINEN USECASE?
![Page 31: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/31.jpg)
WO ÄNDERE/ERSTELLE ICH GESCHÄFTSLOGIK?
![Page 32: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/32.jpg)
WIE GREIFE ICH AUF EXTERNE SYSTEME ZU?
![Page 33: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/33.jpg)
WO BEGINNT/ENDET EINE TRANSAKTION?
![Page 34: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/34.jpg)
SIND MEINE ABHÄNGIGKEITEN KORREKT?
![Page 35: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/35.jpg)
WO ERMÖGLICHE ICH ZUGRIFF AUF MEINSYSTEM?
![Page 36: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/36.jpg)
BOUNDED CONTEXT ZU UBIQUITOUS LANGUAGE
![Page 38: DOMAIN DRIVEN DESIGN HEXAGONALE ARCHITEKTUR · TEIL 1: THESE “Die Kombination von DDD und Hexagonaler Architektur bietet EntwicklInnen klare Antworten auf die zentrale Fragen ihres](https://reader030.vdocuments.site/reader030/viewer/2022041219/5e07f71b93ec1c67e7590231/html5/thumbnails/38.jpg)
HALDE