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.

March 3, 2010 / by Zsolt Soczó

ViewModelek kérdésköre

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

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

  • hrongyorgy March 4, 2010

    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.

  • Szindbad March 4, 2010

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

  • Soczó Zsolt March 5, 2010

    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/

  • hrongyorgy March 9, 2010

    @Soczó Zsolt: Kosz, ezeket el fogom olvasni