Win8@work - Windows 8 e MVVM
-
Upload
marco-amendola -
Category
Education
-
view
267 -
download
1
Transcript of Win8@work - Windows 8 e MVVM
Windows 8 e MVVM
Marco Amendolamarcoamendola.wordpress.com
blogs.ugidotnet.org/marcoamendola
@marcoamendola
• MVVM: cosa cambia con Xaml su WinRT?
• Cos’è MVVM e perché si usa
• Caliburn.Micro per WinRT: struttura, vantaggi
tecnici e qualitativi
• Binding delle proprietà del ViewModel
• Avvio di azioni; azioni asincrone
• UI composition
• Unit test
Cosa vedremo?
Windows 8 e MVVM
MVVM. Ancora?!
Ma è una fissazione!
Windows 8 e MVVM
Quanto e come cambia
MVVM applicato a Xaml su
WinRT?
• Differenze dovute al markup
• Differenze dovute al runtime
• Differenze nel modello
applicativo
Cos’è MVVM e perché si usa
E’ un pattern
Indica una impostazione
sperimentata e conveniente
L’uso in contesti Enterprise
ha dimostrato che facilita:
• Qualità
• Manutenibilità
• Modularità
Cos’è MVVM e perché si usa
Strumenti per app. LOB
• MVVM, Caliburn.Micro, Fody
Rinforzo positivo di buone
pratiche e convenzioni
• Convention over
Configuration
• Inversion of Control
• Testabilità
@Work
Struttura di una soluzione Caliburn.Micro
Windows 8 e MVVM
Windows 8 e MVVM
Binding delle proprietà
• del DataModel: il classico
utilizzo per la presentazione
di dati
• dello Screen: pattern
Presentation Model (la View
replica lo stato del Model)
@Work
Diversi tipi di binding delle proprietà
Convenzioni
Casi «pelosi» con proprietà non «bindabili»
Windows 8 e MVVM
INotifyPropertyChanged?
Fody. E potete dimenticarvene.
Windows 8 e MVVM
@Work
Test su notifica
Windows 8 e MVVM
Cos’è allora il ViewModel?
Vista del Modello
o Modello della Vista
Windows 8 e MVVM
Windows 8 e MVVM
Avvio di attività
• approccio tipico:
Commands.
• Caliburn.Micro: convenzioni.
E se non basta: messaggi.
@Work
Avvio di azioni con Caliburn.Micro
Convenzioni e ActionMessages
Test sulle funzioni «guard»
Windows 8 e MVVM
Windows 8 e MVVM
Azioni asincrone
• Async/Await risolve
elegantemente un problema
complesso (“bagno di
sangue”)
• Percorso sequenziale
visibile, ma composto da
passi potenzialmente
asincroni e di lunga durata
@Work
Azioni asincrone
Gestione errori
Windows 8 e MVVM
Windows 8 e MVVM
UI Composition
• “Subroutine” per l’interfaccia
utente
• Templating
• VM esposti da proprietà
modificate a runtime
Windows 8 e MVVM
UI Composition
• Occorre gestire il ciclo di vita
dei View Model
• Appication Model
@Work
UI Composition e Application Model
Windows 8 e MVVM
• MVVM: cosa cambia con Xaml su WinRT?
• Cos’è MVVM e perché si usa
• Caliburn.Micro per WinRT: struttura, vantaggi
tecnici e qualitativi
• Binding delle proprietà del ViewModel
• Avvio di azioni; azioni asincrone
• UI composition
• Unit test
Cosa abbiamo visto**se non ho sforato i tempi
Windows 8 e MVVM
Domande?
Link utili
caliburnmicro.codeplex.com
github.com/SimonCropp/Fody
Grazie agli sponsor