ASP.Net MVC sollten Sie für jede Ansicht ein Modell erstellen?

8

Ich bin ziemlich neu in ASP.Net MVC und ich finde, dass ich für jede Ansicht eine einzige Modellklasse mache. Z.B. SignInModel, SignUpModel, EditProfileModel und so weiter.

Viele davon sind ähnlich, haben dieselben DB-Felder und dann einige benutzerdefinierte Eigenschaften.

Soll MVC wirklich so gemacht werden, oder habe ich etwas davon übersehen?

Ich erkenne, dass dies subjektiv sein kann, aber es sollte eine "Best-Practice" geben.

    
Steffen 22.02.2011, 11:17
quelle

1 Antwort

15
  

Soll MVC wirklich so gemacht werden, oder habe ich etwas davon übersehen?

Das ist absolut, wie es MVC getan werden soll und Sie keinen Aspekt davon vermissen.

Ein View-Modell pro Ansicht.

Sie können immer noch Basisansichtsmodellklassen verwenden und die Vererbung Ihrer Ansichtsmodelle verwenden. Achten Sie jedoch besonders auf die Validierungsregeln, die sich in den verschiedenen Ansichten unterscheiden können. Wenn beispielsweise in einer Ansicht eine Eigenschaft erforderlich ist, ist sie in einer anderen Ansicht möglicherweise nicht mehr erforderlich. Wenn Sie also eine Basisansichtsmodellklasse und Datenanmerkungen verwendet haben, würden Sie ziemlich getoastet werden.

Zögern Sie nicht für eine Sekunde, Ansichtsmodelle zu erstellen, selbst wenn Sie einige Eigenschaften wiederholen. Das sind die Ansichtsmodelle für = & gt; auf die spezifischen Bedürfnisse einer Sichtweise eingehen und berücksichtigen, dass sich diese Bedürfnisse häufig ändern können. Daher mag es am Anfang schwierig sein, getrennte Betrachtungsmodelle zu haben, aber auf lange Sicht ist es die beste Lösung sowohl für die Instandhaltung als auch für bewährte Verfahren .

    
Darin Dimitrov 22.02.2011, 11:18
quelle

Tags und Links