Model View ViewModel
Model View ViewModel (MVVM) is an architectural pattern for software development.
MVVM is a variation of Martin Fowler's Presentation Model design pattern.
Model View ViewModel is also called model-view-binder, especially in implementations that don't involve the .NET platform
Components of the MVVM pattern
Model
Model refers either to a domain model, which represents the real state content (an object-oriented approach), or to the data access layer that represents that content (a data-centric approach)
View
As in the MVC and MVP patterns, the view is the user interface (UI).
View model
The view model is an abstraction of the view that exposes public properties and commands. Instead of the controller of the MVC pattern, or the presenter of the MVP pattern, MVVM has a binder. In the view model, this binder mediates communication between the view and the data binder.The view model has been described as a state of the data in the model.
Binder
Declarative data- and command-binding are implicit in the MVVM pattern. In the Microsoft solution stack, the binder is a markup language called XAML.[7] The binder frees the developer from being obliged to write boiler-plate logic to synchronise the view model and view. When implemented outside of the Microsoft stack the presence of a declarative databinding technology is a key enabler of the pattern
http://en.wikipedia.org/wiki/Model_View_ViewModel