Presentation is loading. Please wait.

Presentation is loading. Please wait.

Laurent Bugnion Senior User Experience Integrator IdentityMine

Similar presentations


Presentation on theme: "Laurent Bugnion Senior User Experience Integrator IdentityMine"— Presentation transcript:

1

2 Laurent Bugnion Senior User Experience Integrator IdentityMine http://[www|blog].galasoft.ch http://www.identitymine.com

3 A weird acronym Model – View – ViewModel « MVVM in a SLOOB with SLUT » Woven into WPF/SL Some confusion: MVVM is really just the pattern The rest are helpers, practices, etc

4 ModelView Controller

5 ModelView Controller

6 ModelView Presentation Model (ViewModel) DataBinding

7 Testability, Maintainability, Blendability “The ability to be edited in Blend” (and Visual Studio designer…) Differentiate code in design and runtime Create design time data

8 Hello MVVM (and Hi Blend)

9 View ViewModel DataBindingCommandsMessages Model

10 View ViewModel View ViewModel View ViewModel Messages + callback

11 “Point of entry” for a method Can be data bound ICommand interface Execute method CanExecute method CanExecuteChanged event

12 Should be simple by default Possible to open filtered channels To a target Type (or an Interface) With a Token No constraints at all

13 Commands and RelayCommands, Messaging

14 “Breaking the monotony” http://www.galasoft.ch/mvvm/getstarted http://mvvmlight.codeplex.com V3 SP1 released with phone support Keep it small Keep it simple

15 ESSENTIALS RelayCommand Messenger ViewModelBase EXTRAS EventToCommand DispatcherHelper

16 Project templates (VS + Blend) Item templates (VS + Blend) Code snippets

17 MVVM Light, Unity, Blendability

18 Too much code needed INotifyPropertyChanged Commands Some operations are tricky (set focus…) Not applicable to ASP.NET, etc Message to community is not clear

19 “No code in the code behind” “If you put code in the View's code-behind, the MVVM police will take your family away” “No need for converters” “MVVM is only suitable for big projects” “MVVM costs performance” “MVVM is complex / makes my head hurt”

20 “I don’t need separation because I don’t have a designer” “You cannot use MVVM with other patterns” “MVVM will make you rich and attractive”

21 http://blog.galasoft.ch http://www.galasoft.ch/mvvm/getstarted http://tinyurl.com/mvvmexplained Twitter: @LBugnion

22


Download ppt "Laurent Bugnion Senior User Experience Integrator IdentityMine"

Similar presentations


Ads by Google