Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MVVM - Model-View-ViewModel

4,540 views

Published on

Slides from my recent NT Konferenca MVVM talk.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MVVM - Model-View-ViewModel

  1. 1. Vse kar ste želeli vedeti o MVVM<br />Andrej Tozon (ANT Andrej Tozon s.p.)<br />
  2. 2. Vse kar ste želeli vedeti o MVVM<br />Andrej Tozon (ANT Andrej Tozon s.p.)<br />
  3. 3. MVVM<br />MODEL – VIEW – VIEWMODEL<br />
  4. 4. VZOREC!!!<br />
  5. 5.
  6. 6. VZDRŽEVANJE<br />
  7. 7. TESTIRANJE<br />
  8. 8. „BLENDABILITY“<br />
  9. 9. VZDRŽEVANJE<br />TESTIRANJE<br />„BLENDABILITY“<br />LOČEVANJE ODGOVORNOSTI<br />Predstavitveni sloj<br />Interakcija in stanje<br />Podatki in domenska logika<br />
  10. 10. VZDRŽEVANJE<br />TESTIRANJE<br />„BLENDABILITY“<br />LOČEVANJE ODGOVORNOSTI<br />MVC<br />(V) View<br />(C) Controller<br />(M) Model<br />
  11. 11. VZDRŽEVANJE<br />TESTIRANJE<br />„BLENDABILITY“<br />LOČEVANJE ODGOVORNOSTI<br />MVP<br />(V) View<br />(P) Presenter<br />(M) Model<br />
  12. 12. VZDRŽEVANJE<br />TESTIRANJE<br />„BLENDABILITY“<br />LOČEVANJE ODGOVORNOSTI<br />MVVM<br />(V) View<br />(VM) ViewModel<br />(M) Model<br />
  13. 13. View<br />Obveščanje o<br />spremembah<br />Vezi in ukazi<br />ViewModel<br />Model<br />MVVM<br />
  14. 14. <… “{Binding …} “… /><br />Obveščanje o<br />spremembah<br />Vezi in ukazi<br />INotifyPropertyChanged<br />ObservableCollection<T><br />Model<br />MVVM<br />
  15. 15. MODEL, VIEW, VIEWMODELPODATKOVNO POVEZOVANJESERVICE AGENTS<br />
  16. 16. VALUE CONVERTERS<br />
  17. 17. VISUAL STATE MANAGERCOMMANDSBEHAVIORS[= Trigger + Action]<br />
  18. 18. POMOČNICE (SERVICES)<br />
  19. 19. KURIR (MESSENGER)<br />
  20. 20. Povzetek<br />View, Model, ViewModel<br />Podatkovno povezovanje<br />Ukazi in alternativa v Code-behind za SL < 4 in WP<br />Nepotrebna uporaba ObservableCollection<br />ServiceAgents<br />Abstrakcija podatkovnih virov in poenostavitev uporabe<br />ValueConverters<br />Slabosti in alternative<br />
  21. 21. Povzetek<br />VisualStateManager<br />Prehajanje med predvidenimi stanji na UV<br />Behaviors<br />Trigger, Action, Behavior<br />Pomočnice (Services)<br />Razklapljanje oz. abstrakcijafunkcionalnosti<br />Kurir (Messenger)<br />Komunikacija med ViewModeli<br />
  22. 22. Povzetek<br />ViewModelLocator<br />Zbirno mesto ViewModelov<br />IoC<br />Krmiljenje funkcionalnosti<br />Uporaba na več napravah<br />Ponovna uporaba kode<br />Večje spremembe le na UV…<br />… ostalo je v glavnem konfiguracija<br />
  23. 23. OGRODJA MVVM<br />MVVM Light<br />http://mvvmlight.codeplex.com/<br />Caliburn<br />http://caliburn.codeplex.com/<br />http://caliburnmicro.codeplex.com/<br />Prism<br />http://compositewpf.codeplex.com<br />ReactiveUI<br />http://www.reactiveui.net/<br />
  24. 24. andrej@tozon.info<br />@andrejt<br />http://tozon.info/blog<br />Andrej Tozon<br />ANT Andrej Tozon s.p.<br />Microsoft MVP: Silverlight<br />VPRAŠANJA?<br />Po zaključku predavanja prosim izpolnite vprašalnik.<br />Vprašalniki bodo poslani na vaš e-naslov, dostopni pa bodo tudi preko profila na spletnem portalu konference. www.ntk.si.<br />Z izpolnjevanjem le tega pripomorete k izboljšanju konference. <br />Hvala!<br />

×