// Layered Architecture
Architektur
Sechs Schichten. Klare Abhängigkeiten. Keine Kreisreferenzen. Vollständig auditierbar durch den Overseer.
Layer 6 · DCS.Framework (WPF Desktop) · DCS.Mobile (MAUI) · DCS.Shop (Standalone)
│ Einziger DI-Auflösungspunkt — kein Downstream-Consumer im Baum
Layer 5 · Feature Module (Tier 1 – 4)
│ Tier 1 (Basis): Contact · Document · Scheduler
│ Tier 2 (Prozesse): Billing · Mailing · HR · Diary · Health
│ Tier 3 (Orchestratoren): ERP · Fleet · Gastro
│ Tier 4 (Meta Tools): Flow · VisPre · GerarAI
Layer 4 · DCS.User (Identität & Rechteverwaltung)
Layer 3 · DCS.Authorisation (Sicherheits-Gateway · Domain-Lizenzierung)
Layer 2 · DCS.CoreLib (Business Logic · Shared Interfaces · DI-Kontrakte)
Layer 1 · DCS.Core (Logging · Translation · IconService · Overseer)
Layer 0 · DCS.Data · DCS.Data.Shared (Fundament — keine internen DCS-Abhängigkeiten)
│ Einziger DI-Auflösungspunkt — kein Downstream-Consumer im Baum
Layer 5 · Feature Module (Tier 1 – 4)
│ Tier 1 (Basis): Contact · Document · Scheduler
│ Tier 2 (Prozesse): Billing · Mailing · HR · Diary · Health
│ Tier 3 (Orchestratoren): ERP · Fleet · Gastro
│ Tier 4 (Meta Tools): Flow · VisPre · GerarAI
Layer 4 · DCS.User (Identität & Rechteverwaltung)
Layer 3 · DCS.Authorisation (Sicherheits-Gateway · Domain-Lizenzierung)
Layer 2 · DCS.CoreLib (Business Logic · Shared Interfaces · DI-Kontrakte)
Layer 1 · DCS.Core (Logging · Translation · IconService · Overseer)
Layer 0 · DCS.Data · DCS.Data.Shared (Fundament — keine internen DCS-Abhängigkeiten)
// Sechs Kernprinzipien
Prinzip 01
Proprietary-First
Alles, was proprietär sein kann, ist proprietär. Keine generischen DI-Container, keine Third-Party MVVM-Helpers — ausschließlich VT-eigene Muster über DcsServiceRegistry.
Prinzip 02
Zero-Warning Policy
Builds produzieren keine MSBuild-, NuGet- oder Analyzer-Warnungen. Warnungen sind Build-Defekte und werden als solche behandelt und beseitigt.
Prinzip 03
DcsServiceRegistry
Alle Services werden ausschließlich über DcsServiceRegistry aufgelöst. CommonServiceLocator und generische Container sind strikt verboten.
Prinzip 04
Soft-Delete by Default
Physisches Löschen ist verboten. Jede Entity erbt ModelBase mit IsDeleted, CreatedAt, ModifiedAt, CreatedBy, ModifiedBy — lückenloser Audit-Trail.
Prinzip 05
Zero Code-Behind
XAML.cs-Dateien enthalten ausschließlich InitializeComponent(). Alle Interaktionen laufen über ICommand, alle Daten über INotifyPropertyChanged.
Prinzip 06
Overseer-Compliance
Jedes produktive Modul deklariert seine DcsAssembly-Enum-Identität via DcsAssemblyEnumId — vollständig laufzeit-auditierbar durch IOverseer.