50 likes | 469 Views
MVVM Design Pattern. O verview of the MVVM pattern for Silverlight and WPF. What is MVVM?. Part of the M-V-* family of separated presentation patterns (MVC, MVP, etc.) Stands for “Model-View- ViewModel ” Adaptation of Fowler’s “Presentation Model” “ Linqua Franca” of WPF and Silverlight.
E N D
MVVM Design Pattern Overview of the MVVM pattern forSilverlight and WPF
What is MVVM? • Part of the M-V-* family of separated presentation patterns (MVC, MVP, etc.) • Stands for “Model-View-ViewModel” • Adaptation of Fowler’s “Presentation Model” • “Linqua Franca” of WPF and Silverlight
What’s a “ViewModel”? • Is it a “View of the Model”? or … • A “Model of the View”? • I prefer Model of the View, or Model forthe View. • The VM is an abstraction of the state (bindings) and behavior (actions/commands) of the View.
View Model as State Machine • “When I’m constructing a system, I prefer to think of the VM as a state machine with the View being a visualization of the current state. The user interacts with the View, causing “messages” (actions/commands/bindings) to be sent to the VM. The VM receives and delegates or interprets these messages, which may or may not result in state changes and may or may not result in domain model interaction.” – Rob Eisenberg (Caliburn, NHProf)