Wie soll ich eine einfache ASP.NET MVC-App strukturieren?

Ich habe ein paar Dinge über ASP.NET MVC, SOLID usw. gelesen und versuche, ein einfaches "Rezept" für kleine bis mittlere ASP.NET MVC-Apps zu finden, das diese Konzepte zusammenfasst. Das Problem, mit dem ich mich am meisten befasse, ist, dass die Controller zu komplex sind und wie Code-Behind-Dateien in Webforms mit allen Arten von Geschäftslogik aussehen.

Ich erwäge die folgende Architektur für eine kleine datengesteuerte App:

Controller: nur Anfragen bearbeiten, entsprechenden Service anrufen und Aktionsergebnis an View zurücksenden;Models: POCO, kümmert sich um die gesamte Geschäftslogik, Autorisierung usw. Abhängig von den Repositorys, die keine Ahnung von der Persistenzinfrastruktur haben.Repositories: implementiereIRepository<T>, benutze Dependency Injection und dort wird sich mein DB-Code befinden; empfängt und gibt nur POCO zurück.

Ich erwäge, Dienste zwischen den Controllern und den Modellen bereitzustellen, aber wenn sie nur Methodenaufrufe weiterleiten, bin ich mir nicht sicher, wie nützlich das wäre.

Finally sollte es Unit-Tests geben, die den Modellcode abdecken, und Unit + Integration-Tests, die den Repository-Code abdecken (nach der "rot-grünen" Praxis, wenn möglich)

Gedanken

Antworten auf die Frage(8)

Ihre Antwort auf die Frage