Als ich zum ersten Mal von ASP.NET MVC hörte, dachte ich, dass Anwendungen mit drei Teilen bedeuten: Modell, Ansicht und Controller.Das Modell-Repository-Service-Validator-View-ViewModel-Controller Entwurfsmuster (?)
Dann lese ich NerdDinner und lernte die Möglichkeiten von Repositories und View-Modelle. Als nächstes las ich this tutorial und wurde bald auf den Tugenden einer Service-Schicht verkauft. Schließlich lese ich die Fluent Validation documentation, und ich werde verdammt sein, wenn ich nicht am Ende eine Reihe von Validatoren schreiben würde.
Heute Abend trat ich einen Schritt zurück und dachte darüber nach, was aus meinem Projekt geworden war. Es scheint das Opfer des Design-Pattern-Äquivalents von "Feature Creep" geworden zu sein. Irgendwie war ich vom Model-View-Controller zum Model-Repository-Service-Validator-View-ViewModel-Controller. Sie wollen locker gekoppelt und trocken? Wir haben Ihre lose gekoppelte und DRY genau hier! Aber ich frage mich, ob dies zu viel von einer guten Sache sein könnte.
Bin ich richtig besorgt? Oder ist das eigentlich nicht so verrückt wie es klingt? Auf der einen Seite scheint es verrückt, so viele Schichten zu haben. Auf der anderen Seite hat jede Schicht einen klar definierten Zweck, der für mich Sinn macht. Sind Ihre MVC-Anwendungen auch zu MRSVVVMC-Apps geworden? Wenn nicht, wie sehen sie aus? Wo ist das richtige Gleichgewicht?