71 lines
2.3 KiB
Markdown
71 lines
2.3 KiB
Markdown
# 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](/architecture/STRUKTUR-DOKUMENTATION.md) - Überblick über die Struktur des Projekts
|
|
|
|
## Architekturprinzipien
|
|
|
|
Das Projekt folgt diesen grundlegenden Architekturprinzipien:
|
|
|
|
1. **Modulare Architektur**: Klare Trennung von Verantwortlichkeiten in Modulen
|
|
2. **Service-orientiertes Design**: Funktionalitäten als unabhängige Services
|
|
3. **Dependency Injection**: Abhängigkeiten werden explizit injiziert
|
|
4. **Event-basierte Kommunikation**: Lose Kopplung durch Events
|
|
5. **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:
|
|
|
|
1. HTTP-Request wird vom Router empfangen
|
|
2. Middleware-Pipeline verarbeitet den Request
|
|
3. Controller erhält den Request und delegiert an Services
|
|
4. Services implementieren die Geschäftslogik
|
|
5. Domain-Objekte repräsentieren den Geschäftszustand
|
|
6. Repositories speichern/laden Daten
|
|
7. Response wird erstellt und zurückgegeben
|
|
|
|
## Weitere Informationen
|
|
|
|
Für detailliertere Informationen zur Architektur siehe die [Projektstruktur-Dokumentation](/architecture/STRUKTUR-DOKUMENTATION.md).
|