Hexagonal Architecture, auch Ports and Adapters genannt, ist ein Architekturstil, den Alistair Cockburn 2005 beschrieb. Er stellt die Kerndomäne ins Zentrum, isoliert von externen Belangen: Ports sind Schnittstellen, die festlegen, wie die Anwendung kommuniziert, und Adapter verbinden sie mit Benutzeroberflächen, APIs, Datenbanken und Message Queues. Abhängigkeiten zeigen nach innen, sodass die Kernlogik unabhängig von Frameworks bleibt und sich isoliert testen lässt.
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