5 Stimmen

ASP.NET MVC: Verschachtelung von ViewModels ineinander, Antipattern oder nicht?

Ich habe ein Projekt, in dem ViewModels ineinander verschachtelt sind, so dass sie im Wesentlichen eine String-typisierte Replikation der Domänenhierarchie sind. Wenn unsere Domäne zum Beispiel die folgenden Beziehungen hat:

Organisation hat 1 bis viele Umgebungen

Umgebung hat 1 bis viele Maschinen

dann wird es ein OrganizationViewModel geben, das ein bis mehrere EnvironmentViewModels enthält, und das EnvironmentViewModel wird selbst ein bis mehrere MachineViewModels haben. Diese Art der Hierarchie wird dann in der gesamten Anwendung wiederverwendet, mit einem von etwa fünf ViewModels dieses Typs. (z.B. wird das EnvironmentViewModel für mehrere Seiten verwendet, das MachineViewModel für viele von ihnen, abhängig von der Ebene der Hierarchie, die betrachtet wird... Ich habe dies zu Diskussionszwecken vereinfacht, aber die Hierarchie ist ein wenig größer als nur die 3 oben).

Auch wenn ich diese Praxis gerne von oben herab verurteilen würde, habe ich nicht viele Informationen darüber finden können. Kann mir jemand weitere Einzelheiten über die gängige Praxis nennen? Kann jemand Anekdoten erzählen?

(Ich selbst bin der Meinung, dass diese ViewModels nicht auf diese Weise ineinander verschachtelt werden sollten, und dass die ViewModels eigentlich den Views entsprechen sollten, nicht den Domain-Objekten. Ich finde das ziemlich chaotisch mit einigen Problemen der Wartbarkeit. Aber ich würde gerne wissen, was andere denken oder erlebt haben).

Ich habe diese Frage als Referenz angehängt, aber sie beschreibt die Verschachtelung eines Domänenobjekts innerhalb eines Viewmodels, nicht die Verschachtelung von Viewmodels untereinander.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X