MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows 8 in Windows Phone

231 views

Published on

Presentation about the MVVM pattern from NT Konferenca 2013. In Slovenian language.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

MVVM in the Windows 8 and Windows Phone universe / MVVM v univerzumu Windows 8 in Windows Phone

  1. 1. 400MVVM v univerzumuWindows 8 in WindowsPhone 8Andrej TozonMicrosoft MVPANT Andrej Tozon s.p, Ljubljanaandrej@tozon.info | @andrejt
  2. 2. 400Vsebina Na kratko o vzorcu MVVM Za vse tiste, ki niste bili na včerajšnjh arhitekturnih predavanjih Praktični primer uporabe vzorca na aplikaciji Windows 8 Izzziv: poišči odprt spletni programski vmesnik! Pregled arhitekture aplikacije Poudarek na delih, specifičnih za platformo Podatki za čas oblikovanja uporabniškega vmesnika Testiranje Brez „3rd party“ ogrodij MVVM! Širitev aplikacije na drugo platformo Windows Phone 8 Prednosti uporabe vzorca in načini za premostitev razlik vplatformah
  3. 3. 400Windows 8 vs Windows Phone 8
  4. 4. 400V - ViewC / P / VM - ViewmodelM - Model
  5. 5. 400Glavne sestavine MVVM Podatkovne vezi (data bindings)<TextBlock Text=“{Binding LastName}” />
  6. 6. 400Glavne sestavine MVVM Podatkovne vezi (data bindings) Ukazi<TextBlock Text=“{Binding LastName}” />public interface ICommand{event EventHandler CanExecuteChanged;bool CanExecute(object parameter);void Execute(object parameter);}
  7. 7. 400Glavne sestavine MVVM Podatkovne vezi (data bindings) Ukazi – povratna informacija<TextBlock Text=“{Binding LastName}” />public interface INotifyPropertyChanged{event PropertyChangedEventHandler PropertyChanged;}
  8. 8. 400Glavne sestavine MVVM Podatkovne vezi (data bindings) Ukazi – povratna informacija Previdno z ukazi!<TextBlock Text=“{Binding LastName}” />public interface INotifyPropertyChanged{event PropertyChangedEventHandler PropertyChanged;}
  9. 9. 400Začimbe MVVM Pretvorniki vrednostipublic sealed class BooleanToVisibilityConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter,string language){return (value is bool && (bool)value) ?Visibility.Visible : Visibility.Collapsed;}public object ConvertBack(object value, Type targetType, object parameter,string language){return value is Visibility && (Visibility)value == Visibility.Visible;}}
  10. 10. 400Začimbe MVVM Pretvorniki vrednosti Ali pa bi morda raje razširili nosilca podatkov (model)?public sealed class BooleanToVisibilityConverter : IValueConverter{public object Convert(object value, Type targetType, object parameter,string language){return (value is bool && (bool)value) ?Visibility.Visible : Visibility.Collapsed;}public object ConvertBack(object value, Type targetType, object parameter,string language){return value is Visibility && (Visibility)value == Visibility.Visible;}}
  11. 11. 400Začimbe MVVM Obnašanja (Behaviors) Razširjajo vizualne elemente z novimi zmožnostmi Na novih platformah jih še pogrešamo Druge rešitve „Visual State Manager“ Deklarativni opisi stanj vs. imperativno kodiranje „Service / ViewModel locator“ ali factory Ali potrebujete upravljanje z življenskim ciklom? Storitve (Services) IDialogService INavigationService IDataService …
  12. 12. 100400
  13. 13. 400demo
  14. 14. 400Vprašanja?MVVM v univerzumu Windows 8 in Windows Phone8Andrej TozonMicrosoft MVPANT Andrej Tozon s.p, Ljubljanaandrej@tozon.info | @andrejt
  15. 15. 400VPRAŠANJAProsimo vas, da po koncu predavanja izpolnitevprašalnike. Nekoga izmed vas bomo nagradiliz Nokio Lumia 820.Vprašalniki bodo poslani na vaš e-naslov,dostopni pa bodo tudi preko profila na spletnemmestu www.ntk.siNajlepša hvala!Iščete kakovostno izobraževanje? Obiščite Microsoftove izobraževalne centre:Uspeh = Znanje = Microsoftovi uradni tečaji + predavatelji Microsoft Certified Trainer

×