Soci (Soczó Zsolt) szakmai blogja

2010.03.03.

ViewModelek kérdésköre

Filed under: .NET,.NET 4,Architektúra,Design,Szakmai élet — Soczó Zsolt @ 20:39

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

Jó kép az MVVM rétegekről.

Egyféle Validation megközelítés.
Using a ViewModel to Provide Meaningful Validation Error Messages

4 Comments

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

    Comment by hrongyorgy — 2010.03.04. @ 02:26

  2. Jaja, POCO parti vagyok. A DependencyObjectet altalaban nem szeretem, kb. annyi uj problemat injektal a rendszerbe, mint amennyi megoldasat kenyelmesse teszi.

    Comment by Szindbad — 2010.03.04. @ 11:18

  3. 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/

    Comment by Soczó Zsolt — 2010.03.05. @ 14:55

  4. @Soczó Zsolt: Kosz, ezeket el fogom olvasni

    Comment by hrongyorgy — 2010.03.09. @ 23:36

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

Powered by WordPress