Drei-Schichten-Architektur in ASP.NET Core verständlich erklärt
Warum wir Entitäten, Datenzugriff und Geschäftslogik trennen – und wie das Projekte wartbarer macht.
Wer ein Projekt schnell starten möchte, schreibt die Datenbankabfragen gerne direkt in den Controller. Das funktioniert – bis das Projekt wächst. Genau hier hilft eine saubere Drei-Schichten-Architektur.
Die drei Schichten
Die BE-Schicht (Business Entities) enthält nur die Klassen, also z. B. Blog, Kategorie oder Benutzer. Die DAL-Schicht (Data Access Layer) kümmert sich um die Datenbank – bei NEGA mit Entity Framework Core und SQLite. Die BLL-Schicht (Business Logic Layer) enthält Regeln und Validierung. Die Oberfläche (UI) spricht ausschließlich mit der BLL.
Warum der Aufwand?
Jede Schicht hat genau eine Aufgabe. Wechselt man die Datenbank von SQL Server zu SQLite, ändert sich nur die DAL. Die Controller bleiben unberührt. Außerdem lassen sich Manager-Klassen über Interfaces sehr einfach testen.
Dependency Injection statt new
Repositories und Manager werden im Program.cs registriert und per Konstruktor injiziert. So gibt es pro Anfrage genau einen DbContext, und keine Klasse muss wissen, wie ihre Abhängigkeiten erzeugt werden.
Fazit
Ein paar Dateien mehr am Anfang sparen später viele Stunden. Gerade für ein CMS mit Admin-Panel lohnt sich die Trennung von Anfang an.
4 Kommentare
Super erklärt! Genau so habe ich mir die Trennung der Schichten vorgestellt.
Nutzt ihr auch Unit-Tests für die BLL-Schicht?
Kommentar schreiben
Kommentare werden vor der Veröffentlichung von unserem Team geprüft. Ihre E-Mail-Adresse wird nicht veröffentlicht.