Dieser Beitrag ist ähnlich zu in MVC/MVP/MVPC where do you put your business logic?, aber ich bin auf der Suche nach weiteren Details. Ich habe mir das Modell als den Ort gekauft, an dem sich die große Mehrheit der Geschäftslogik befinden sollte. Das Modell, so weit ich es verstehe, hat jedoch eine Menge zu bieten: Anwendungszustandsverwaltung, Datenpersistenz, Repositories, Datenübertragungsobjekte und möglicherweise andere Dinge.MVC/MVP/MVVM - Wie man Geschäftslogik organisiert
Ich habe eine Anwendung, die super komplexe Geschäftsregeln hat. Wenn der Benutzer versucht, eine bestimmte Aktion in einer Ansicht auszuführen, gibt es ungefähr 20 verschiedene Regeln, die überprüfen müssen, ob diese Aktion zulässig sein soll oder ob der Benutzer aufgefordert werden muss, zusätzliche Informationen einzugeben. Ich möchte diese Geschäftsregeln einzeln pro Methode kodieren, um Testbarkeit und Dokumentation zu unterstützen. Sollten diese Regeln in einer Repository-Klasse enthalten sein? Vielleicht in einer Services-Schicht über den Repositories? Was ist die beste Vorgehensweise, wenn ich bedenke, dass ich eine ORM-Lösung wie Linq zu SQL, EF oder nHibernate verwende?
ich die Antwort zu schätzen wissen, aber ich möchte in der Lage sein, diese Methoden mit NUnit oder einem anderen Test-Framework zu testen und setzen die Regeln in der Datenbank wird dies viel schwieriger machen. – Andy
Mit der Komplexität dieser Regeln würde es extrem schwierig werden, sie alle in der Datenbank zu verwalten. – Andy