Model View Viewmodel
Jesse Russell, Ronald Cohn
Book on Demand, 2012 - 158 pages
High Quality Content by WIKIPEDIA articles! The Model View ViewModel (MVVM) is an architectural pattern used in software engineering that originated from Microsoft as a specialization of the Presentation Model design pattern introduced by Martin Fowler. Largely based on the Model-view-controller pattern (MVC), MVVM is targeted at modern UI development platforms (Windows Presentation Foundation, or WPF, and Silverlight) in which there is a user experience (i.e., user interface) (UXi) developer who has requirements different from those of a more "traditional" developer (e.g. oriented toward business logic and back end development). The View-Model of MVVM is a value converter meaning that the View-Model is responsible for exposing the data objects from the Model in such a way that those objects are easily managed and consumed. In this respect, the View-Model is more Model than View, and handles most if not all of the View's display logic (though the demarcation between what functions are handled by which layer is a subject of ongoing discussion and exploration).