Hexagonal Architecture (Ports & Adapters)
Details
- Auch bekannt als
-
Ports and Adapters, Onion Architecture (Variante)
Kernkonzepte:
- Hexagonale Struktur
-
Kerndomäne im Zentrum, isoliert von externen Belangen
- Ports
-
Schnittstellen, die definieren, wie die Anwendung kommuniziert
- Adapter
-
Implementierungen, die mit externen Systemen verbinden
- Dependency Inversion
-
Abhängigkeiten zeigen nach innen zur Domäne
- Technologieunabhängigkeit
-
Kernlogik hängt nicht von Frameworks oder Infrastruktur ab
- Primäre/Treibende Adapter
-
Benutzeroberflächen, APIs (eingehend)
- Sekundäre/Getriebene Adapter
-
Datenbanken, Message Queues (ausgehend)
- Testbarkeit
-
Einfaches Testen der Kernlogik isoliert
- Symmetrie
-
Alle externen Interaktionen werden einheitlich behandelt
- Schlüsselvertreter
-
Alistair Cockburn (2005)
Wann zu verwenden:
-
Anwendungen, die hohe Testbarkeit erfordern
-
Systeme, die mehrere Schnittstellen unterstützen müssen (Web, CLI, API)
-
Wenn Sie Infrastrukturentscheidungen aufschieben möchten
-
Microservices mit klaren Domänengrenzen