Clean / Onion / Hexagonale Architektur
Problem
Geschäftsregeln werden gemischt mit:
HTTP
SQL
Azure
Kafka
UI
Bald kann die Geschäftslogik nicht mehr ohne ihre gesamte Infrastruktur verstanden oder getestet werden.
Lösung — Isolieren Sie den Business Core
Onion stellt die Domäne in den Mittelpunkt, die Anwendungslogik um sie herum und die Infrastruktur - einschließlich Persistenz - außerhalb; Codeabhängigkeiten weisen nach innen.
Clean Architecture richtet Abhängigkeiten ebenfalls nach innen und trennt Entitäten (Geschäftsregeln), Anwendungsfälle, Schnittstellenadapter und externe Frameworks.
Hexagonal (Ports und Adapter) verbindet den Kern über Schnittstellen: zum Beispiel eine OrderRepository-Schnittstelle, die durch einen SQL-Adapter implementiert wird.
HTTP
↓
Adapter
↓
Domain
↑
Adapter
↑
Datenbank
Kerngedanke: Isolierung der Kerngeschäftslogik von sich ändernden externen Technologien.