Grundprinzip eines der mehrschichtigen Softwarearchitekturen
Physische Schichten (Tier) vs. Logische Schichten (Layer)
Rollen und Aufgaben der Schichten
- Benutzerschnittstelle
- Benutzerschnittstellsteuerung
- Proxy
- Servicefassaden
- Geschäftslogik
- Datenzugriff
- Datenhaltung
Komponentenorientierung und Kapselung
Anwendungsserver (Application Server)
Schichtenverteilung und Anwendungskopplung (Remoting/Webservices)
Datentransfer zwischen den Schichten
Konzepte
- Zuschnitt von Projekten und Assemblies
- Lose Kopplung mit Dependency Injection / Inversion of Control
Überblick über Konzepte und Bibliotheken in .NET für Verteilung
- .NET Remoting
- Windows Communication Foundation (WCF)
- ASP.NET WebAPI
Überblick über weitere Konzepte und Bibliotheken in .NET für mehrschichtige Anwendungen
- .NET Enterprise Library
- Erweiterbare Anwendungen mit Managed Extensibility Framework (MEF)
Testen mehrschichtiger Anwendungen
- Unit Testing
- Test Driven Development (TDD)
Deployment und Versionierung