Anstatt zu lesen kannst du auch das Video zum Artikel auf YouTube anschauen.
Die Onion-Architektur - Hexagonal-, Onion- & Clean-Architecture Vergleich, Teil 4
Von: Thomas Bayer
Datum: 8. Juli 2024
Diese Einleitung führt leicht verständlich in die Softwarearchitekturen Hexagonal-, Onion- und Clean-Architecture ein.
Für das Verständnis dieses Teils, der die Onion Architecture behandelt ist das Durchlesen der Teile zur Dependency Inversion und Hexagonalen Architektur empfohlen.
4. Onion Architecture
Eine weitere Architektur, die auf Dependency Inversion basiert, ist die 2008 von Jeffrey Palermo beschriebene Onion-Architektur. Zur Darstellung werden konzentrische Kreise verwendet, die an die Schalen einer Zwiebel erinnern.
![](/hex-onion-clean/jeffrey-palermo.png)
Abbildung :
Das Domain Model enthält den Zustand und das Verhalten, die im gesamten Unternehmen sichtbar sind – die Geschäftslogik.
Die Domain Services bieten Verhalten, das vom Domain-Kern abhängig ist. Hier finden sich auch Interfaces, über die die Persistenz angebunden wird.
Die Application Services enthalten weitere Schnittstellen z.B. für User-Sessions.
Im äußersten Ring befindet sich der Code für die Anbindung von Infrastruktur, z.B. für die Anbindung von Frameworks oder Datenbanken.
Die Abhängigkeiten verlaufen wieder von außen nach innen. Die Kopplung zeigt in Richtung Zentrum. Innere Schichten definieren Schnittstellen, während äußere Schichten diese implementieren. Der Kern der Anwendung kann somit ohne die äußeren Schichten kompiliert und getestet werden.
![](/hex-onion-clean/onion-dependencies.png)
Abbildung :
Die Onion-Architektur wird ebenfalls mit Dependency Inversion und Dependency Injection umgesetzt.
Weiter geht es im nächsten Teil mit der Clean Architecture.