2.3 KiB
2.3 KiB
Architektur-Dokumentation
Übersicht
Diese Dokumentation beschreibt die Architektur und Struktur des Projekts. Sie bietet einen Überblick über die wichtigsten Komponenten, deren Beziehungen und die zugrundeliegenden Architekturprinzipien.
Inhalte
- Projektstruktur - Überblick über die Struktur des Projekts
Architekturprinzipien
Das Projekt folgt diesen grundlegenden Architekturprinzipien:
- Modulare Architektur: Klare Trennung von Verantwortlichkeiten in Modulen
- Service-orientiertes Design: Funktionalitäten als unabhängige Services
- Dependency Injection: Abhängigkeiten werden explizit injiziert
- Event-basierte Kommunikation: Lose Kopplung durch Events
- Schichtenarchitektur: Trennung von Präsentation, Anwendungslogik und Daten
Hauptkomponenten
Framework-Kern
Der Framework-Kern stellt grundlegende Infrastrukturkomponenten bereit:
- DI-Container: Verwaltung von Service-Abhängigkeiten
- Event-System: Event-basierte Kommunikation
- HTTP-Komponenten: Request/Response-Handling
- Routing: URL-zu-Controller-Mapping
Anwendungsschicht
Die Anwendungsschicht implementiert die Geschäftslogik:
- Services: Implementierung von Anwendungsfunktionen
- Commands/Queries: Command-Query-Separation-Prinzip
- Controllers: HTTP-Request-Handling
Domainschicht
Die Domainschicht enthält die Kerngeschäftslogik:
- Entities: Geschäftsobjekte mit Identität
- Value Objects: Unveränderliche Wertobjekte
- Domain Services: Domänenspezifische Logik
Infrastrukturschicht
Die Infrastrukturschicht bietet technische Funktionen:
- Persistenz: Datenbankzugriff und -verwaltung
- Messaging: Externe Kommunikation
- Integration: Anbindung an externe Systeme
Datenfluss
Ein typischer Datenfluss im System:
- HTTP-Request wird vom Router empfangen
- Middleware-Pipeline verarbeitet den Request
- Controller erhält den Request und delegiert an Services
- Services implementieren die Geschäftslogik
- Domain-Objekte repräsentieren den Geschäftszustand
- Repositories speichern/laden Daten
- Response wird erstellt und zurückgegeben
Weitere Informationen
Für detailliertere Informationen zur Architektur siehe die Projektstruktur-Dokumentation.