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).