Frage

Ich lerne ASP.NET MVC und ich mag es. Aber ich bin sehr verwirrt über den richtigen Ansatz meine Modelle Namensräume.

Während die NerdDinner Probe app Sezieren bemerkte ich, dass alles, was in den Models Ordner in den Models Namensraum gehört. Die Daten-Mapping-Klassen, Repositories, Fehler Regel-Management, etc., gehören zur selben Namespacing Ebene.

Ich verstehe, dass dieser Ordner von Frameworks wie Rails und Freunde inspiriert wurde, und dass es erforderlich ist, die M in dem MVC-Titel zu rechtfertigen, aber; nicht ein automatisches Modell Namespace alle Chancen des Schreibens Business-Logik zerstören, die beide abnehmbar und tragbar über verschiedene Systeme hinweg und Implementierungen ist?

Soll ich meine Namespace Business-Logik unter diesem Modell Namespace oder sollte ich es völlig ignorieren und meine Klassen in einem Rahmen unabhängiger Weise klassifizieren?

Gibt es komplexe und gute ASP.NET MVC Beispielanwendungen gibt, die dies zeigen würde?

War es hilfreich?

Lösung

würde ich Ihre Klassen in der Art und Weise klassifiziert, die am meisten Sinn macht für Sie, ich vermute, dass sie diesen Namespace in der Nerd-Dinner Beispielanwendung verwendet, da von einem Lernstandpunkt ist es schön für einen Entwickler immer sieht, dass sie in dem Modellabschnitt der Anwendung.

Persönlich habe ich nichts im Modellordner und erstellen Sie separate Projekte für meine Entitäten (App.Domain) und für Domain-Service (App.Services). Ich auch .Tests Projekte für beide Projekte erstellen.

Andere Tipps

Mein dev-Sinn hat mir gesagt, dass wir unsere Datenmodelle in ein anderes Projekt insgesamt wurden Refactoring sollten. Einige haben sogar so weit gegangen, Ihre Geschäftseinheiten in einem weiteren Projekt zu erstellen, und haben sie von den Linq-SQL-Klassen gebildet wird.

Ich dachte, Scott und Co. den Weg zumindest gegangen wären das Datenmodell von der Präsentationsebene zu trennen. Wir alle kennen die Vorteile der Trennung von Bedenken, aber es ist mir rätselhaft mit der Art und Weise sie das Datenmodell in der MVC-app gehalten.

Jede weitere Anregungen zu einem geschichteten Weg zu gehen?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top