Files
michaelschiemer/docs/ARCHITECURE.md

26 lines
877 B
Markdown

# Architektur-Prinzipien
Dieses Dokument beschreibt die grundlegenden Architekturprinzipien unseres Frameworks.
## 1. Immutabilität und Unveränderlichkeit
Wo immer möglich, sollten Objekte unveränderlich (immutable) sein. Dies verbessert die Voraussagbarkeit und Testbarkeit.
## 2. Final by Default
Alle Klassen sollten standardmäßig als `final` deklariert werden, es sei denn, es gibt einen konkreten Grund für Vererbung.
Begründung:
- Vermeidet unbeabsichtigte Vererbungshierarchien
- Verbessert die Kapselung
- Ermöglicht interne Änderungen, ohne Kinderklassen zu beeinflussen
## 3. Explizite über Implizite
- Alle Abhängigkeiten sollten explizit injiziert werden
- Keine globalen Zustände oder Singletons
- Typen immer explizit deklarieren
## 4. Modularität
Jedes Modul sollte in sich geschlossen sein und minimale Abhängigkeiten nach außen haben.