Widziałem to na całym SO, blogach i książkach, gdzie autorzy mówią, że dodajesz ViewModels specyficzne dla twojego widoku w twoich projektach Modelowych jako owijki dla twoich podstawowych obiektów modelu. Chodzi o to, aby było to bardzo proste i ukierunkowane, gdy idziesz do wiązania modelu z widokiem. Oto dobry przykład: Rendering and Binding Drop Down Lists using ASP.NET MVC 2 EditorForCzy korzystanie z ViewModels i odwołań do System.Web.Mvc narusza wzór MVC?
Jednak trochę mnie irytuje fakt, że istnieją odniesienia do System.Web.Mvc w moim modelu, który w przeciwnym razie mógł zostać użyty do wielu gniazdek (być może API WCF, Silverlight itp.), ale teraz mam konkretne odniesienia do bibliotek dll MVC, które będą wymagane do zbudowania mojego projektu modelu.
Moje pytanie brzmi: czy to narusza wzorce MVC, gdy zaczynamy dodawać IEnumerable<SelectListItem>
do naszych klas modeli? I czy istnieje realna alternatywna warstwa, aby przenieść to i jak, tj. Kontroler?
Wszelkie uwagi lub komentarze doceniane.
spójrz na przykładowy projekt mvc stąd http://valueinjecter.codeplex.com/, robi się to bez jakiejkolwiek logiki w viewmodels – Omu