VSE KAR STE ŽELELI VEDETI O MVVM
Andrej Tozon (ANT Andrej Tozon s.p.)
VSE KAR STE ŽELELI VEDETI O MVVM
Andrej Tozon (ANT Andrej Tozon s.p.)
MVVM
MODEL – VIEW – VIEWMODEL
VZOREC!!!
VZDRŽEVANJE
TESTIRANJE
„BLENDABILITY“
Predstavitveni sloj
Interakcija in stanje
Podatki in domenska logika
VZDRŽEVANJETESTIRANJE„BLENDABILITY“LOČEVANJE ODGOVORNOSTI
(V) View
(C) Controller
(M) Model
MVC
VZDRŽEVANJETESTIRANJE„BLENDABILITY“LOČEVANJE ODGOVORNOSTI
(V) View
(P) Presenter
(M) Model
MVP
VZDRŽEVANJETESTIRANJE„BLENDABILITY“LOČEVANJE ODGOVORNOSTI
(V) View
(VM) ViewModel
(M) Model
MVVM
VZDRŽEVANJETESTIRANJE„BLENDABILITY“LOČEVANJE ODGOVORNOSTI
View
ViewModel
Model
Vezi in ukaziObveščanje ospremembah
MVVM
<… “{Binding …} “… />
INotifyPropertyChanged
ObservableCollection<T>
Model
Vezi in ukaziObveščanje ospremembah
MVVM
MODEL, VIEW, VIEWMODEL
PODATKOVNO POVEZOVANJE
SERVICE AGENTS
VALUE CONVERTERS
VISUAL STATE MANAGER
COMMANDS
BEHAVIORS[= Trigger + Action]
POMOČNICE (SERVICES)
KURIR (MESSENGER)
POVZETEK
• View, Model, ViewModel• Podatkovno povezovanje• Ukazi in alternativa v Code-behind za SL < 4 in WP• Nepotrebna uporaba ObservableCollection
• Service Agents• Abstrakcija podatkovnih virov in poenostavitev uporabe
• Value Converters• Slabosti in alternative
POVZETEK
• Visual State Manager• Prehajanje med predvidenimi stanji na UV
• Behaviors• Trigger, Action, Behavior
• Pomočnice (Services)• Razklapljanje oz. abstrakcija funkcionalnosti
• Kurir (Messenger)• Komunikacija med ViewModeli
POVZETEK
• ViewModelLocator• Zbirno mesto ViewModelov
• IoC• Krmiljenje funkcionalnosti
• Uporaba na več napravah• Ponovna uporaba kode• Večje spremembe le na UV…• … ostalo je v glavnem konfiguracija
OGRODJA MVVM
• MVVM Light• http://mvvmlight.codeplex.com/
• Caliburn• http://caliburn.codeplex.com/• http://caliburnmicro.codeplex.com/
• Prism• http://compositewpf.codeplex.com
• ReactiveUI• http://www.reactiveui.net/
VPRAŠANJA?Po zaključku predavanja prosim izpolnite vprašalnik.
Vprašalniki bodo poslani na vaš e-naslov, dostopni pa bodo tudi preko profila na spletnem portalu konference. www.ntk.si.
Z izpolnjevanjem le tega pripomorete k izboljšanju konference.
Hvala!
Andrej TozonANT Andrej Tozon s.p.Microsoft MVP: Silverlight
[email protected]@andrejt
http://tozon.info/blog
Top Related