Laden...

Wo implementiere ich die Business-Logik im Drei-Schichten Modell bei ASP.Net MVC Anwendungen?

Erstellt von Telefisch vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.108 Views
T
Telefisch Themenstarter:in
372 Beiträge seit 2008
vor 5 Jahren
Wo implementiere ich die Business-Logik im Drei-Schichten Modell bei ASP.Net MVC Anwendungen?

Hallo Forum,
in einem anderen Threat hat man mich auf das Drei-Schichten Modell der Programmierung hingewiesen.
Nun dachte ich bisher, dass in ASP.NET MVC der Controller die Logik-Schicht ist, wobei offensichtlich wohl eher zur Präsentationsschicht gehört.

Meine Frage ist daher, wie bzw. wo implementiere ich die Businesslogik?

Derzeit besteht mein Projekt klassisch aus einer Datenbank, diversen Controllern und den zugehörigen Views.

Im Grunde wird ja ein Datensatz im Controller geladen und dem View übergeben:


FunctionGroup functionGroup = db.FunctionGroups.Find(id);
return View(functionGroup); 

Wie würde ich das denn mit einer zwischengeschalteten Logikschicht lösen?
Eine Trennung in drei Schichten macht schließlich nur Sinn, wenn ich sie konsequent überall einsetze.

Gruß Carsten

16.806 Beiträge seit 2008
vor 5 Jahren

Richtig, ASP.NET ist eine Präsentationstechnologie wie auch WPF (nur eben auch mit der Runtime drum rum).

Business Logik wird immer technologieneutral entwickelt; meist eben in Bibliotheken.
Ein Beispiel dazu siehst Du hier (von mir auf GitHub, basierend auf IMediatR): https://github.com/BenjaminAbt/2018-Talks-ModernApiDevelopment

Ansonsten auch ein immerhin fast 6 Jahre alter Blogartikel von mir: ASP.NET MVC - Arbeiten mit View- und SubmitModels

T
Telefisch Themenstarter:in
372 Beiträge seit 2008
vor 5 Jahren

danke, isch gugge...

5.657 Beiträge seit 2006
vor 5 Jahren

Dein Controller (bzw. das ViewModel in MVVM) gehört schon zur Präsentationsschicht.

Die Verarbeitung der Daten sollte in der BL erfolgen, die ist wie schon gesagt, unabhängig von der verwendeten Benutzeroberfläche.

Das Laden und Speichern der Daten, also Zugriff auf den EF-Context, ist dann in der DAL.

Wenn man seine Projekte so strukturiert, ist man meistens schon auf dem richtigen Weg.

Weeks of programming can save you hours of planning