Mostanában oktatok és prototípust írok, közben ezer design kérdést tisztázok a fejemben. Az egyik ilyen pl., hogy a ViewModel DependencyProperty vagy INotifyPropertyChanged módon közvetítse a változásokat a GUI-ra?
Én az INotifyPropertyChanged-re szavaznék, mert így a ViewModel és nem függ a GUI technológiától, eleve nekem fura a modellben pl. WPF fogalmakat látni.
Infók a kérdéskörben.
Általános áttekintés:
INotifyPropertyChanged vs. DependencyProperty in ViewModel
Egy POCO szavazat:
View Models: POCOs versus DependencyObjects
Én Expressionnel oldom meg, hogy ne legyenek property name stringek a kódban, ő nem, de az objektum pool ötlet tetszik benne, átveszem, de szemeteljünk.
A base class which implements INotifyPropertyChanged
Nagyon dicsérik a videót, még nem volt időm megnézni.
Jason Dolinger on Model-View-ViewModel
Egyféle Validation megközelítés.
Using a ViewModel to Provide Meaningful Validation Error Messages
Could you hire me? Contact me if you like what I’ve done in this article and think I can create value for your company with my skills.
LEAVE A COMMENT
4 COMMENTS
A ViewModel miert jobb a Controllernel? Szerintem jobb, ha a View kulonallo dolog, es a Controller tisztan csak kod, igy ha valami valtozik a logikaban, akkor nem kell view kodok kozt turkalni.
Jaja, POCO parti vagyok. A DependencyObjectet altalaban nem szeretem, kb. annyi uj problemat injektal a rendszerbe, mint amennyi megoldasat kenyelmesse teszi.
hrongyorgy: Ahogy én látom, itt összeolvad a controller és a model valamennyire. A view itt is el van választva, csak egyirányú függőség van, csak a view épít a viewmodellre. A viewmodell meg a mögötte levő modell osztályokra, pl. entitásokra. A ViewModel célja a GUI interakiók levágása a viewról, így azok gui nélkül is tesztelhetők.
A viewmodel egyfajta UI logika tároló és modell adapter a view felé.
http://stackoverflow.com/questions/667781/what-is-the-difference-between-mvc-and-mvvm
http://russelleast.wordpress.com/2008/08/09/overview-of-the-modelview-viewmodel-mvvm-pattern-and-data-binding/
@Soczó Zsolt: Kosz, ezeket el fogom olvasni