Architekturüberblick
Zielbild
Das Paket zeigt, wie ein modernes Enterprise-Java-System als Maven-Multi-Module-Workspace aufgebaut werden kann. Die fachliche Domäne bleibt stabil, während Adapter, Infrastruktur und Frameworks austauschbar bleiben.
API / Adapter -> Application / Use Cases -> Domain Model
^ |
| v
Ports / Contracts Domain Events
|
v
Persistence, Messaging, Security, Ops
Modulregeln
| Regel | Erklärung |
|---|---|
| Domain kennt keine Frameworks | Geschäftslogik soll unabhängig von Spring, REST, Datenbank und Messaging bleiben. |
| Application koordiniert Use Cases | Transaktionen, Validierung und Ports werden auf Anwendungsebene orchestriert. |
| Adapter implementieren Ports | REST, Persistence, Messaging und externe Systeme hängen außen. |
| Bootstrap verbindet alles | Spring Boot oder andere Runtime-Konfiguration startet das System. |
| Events verlassen die Domain kontrolliert | Domain Events werden über Application/Outbox veröffentlicht, nicht direkt aus Entities. |
Kompakte fachliche SVG-Idee
Die SVGs in docs/assets/ erklären die Modulrichtung, Outbox-Verarbeitung und Cloud-Native Deploymentkette.