Files
michaelschiemer/backups/docs-backup-20250731125004/architecture/index.md
Michael Schiemer 55a330b223 Enable Discovery debug logging for production troubleshooting
- Add DISCOVERY_LOG_LEVEL=debug
- Add DISCOVERY_SHOW_PROGRESS=true
- Temporary changes for debugging InitializerProcessor fixes on production
2025-08-11 20:13:26 +02:00

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

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.