Model–view–viewmodel
software architectural pattern

Model–view–viewmodel (MVVM) is a layer architecture design in computer software that facilitates the separation of the development of a graphical user interface (GUI; the view)—be it via a markup language or GUI code—from the development of the business logic or back-end logic (the model) such that the view is not dependent upon any specific model platform.
The viewmodel of MVVM is a value converter, meaning it is responsible for exposing (converting) the data objects from the model in such a way they can be easily managed and presented. In this respect, the viewmodel is more model than view, and handles most (if not all) of the view's display logic. The viewmodel may implement a mediator pattern, organizing access to the back-end logic around the set of use cases supported by the view.
MVVM is a variation of Martin Fowler's Presentation Model design pattern. MVVM is very similar to the Model-view-presenter pattern. It was invented by Microsoft architects Ken Cooper and Ted Peters specifically to simplify event-driven programming of user interfaces. The pattern was incorporated into the Windows Presentation Foundation (WPF) (Microsoft's .NET graphics system) and Silverlight, WPF's Internet application derivative. John Gossman, a Microsoft WPF and Silverlight architect, announced MVVM on his blog in 2005.
Model–view–viewmodel is also referred to as model–view–binder, especially in implementations not involving the .NET platform.
The public source identifies “Model–view–viewmodel” as software architectural pattern. This brief keeps that definition visible, then builds a research path around Model, view and viewmodel.
Why this record matters
A short description can identify a subject without explaining its stakes. For “Model–view–viewmodel”, the useful work is to connect “software architectural pattern” to the records capable of establishing context and consequence.
Stable identifiers, scientific names and standards terminology offer the best bridge between this overview and specialist evidence. The source revision retrieved here is dated Sep 2, 2026. The linked authority identifier is Q1247905. None of the 0 selected statements returned an explicit reference. The first chronological checks are 2005.
A general summary may omit uncertainty, sample limits or methodological disagreement that is explicit in the technical record. The source lead contains qualifying language; that uncertainty should survive quotation, summary and reuse. Authority statements aid reconciliation but still require their own references, qualifiers and ranks to be checked.
How to read it
Check terminology, classification and the date of the cited evidence. Scientific names and technical consensus can change while older records retain historical value.
- Current terminology
- Classification context
- Finding cited technical literature
Primary datasets, specimen catalogues, standards bodies and the most recent peer-reviewed literature.
Three-step research path
- Establish the record: confirm the title “Model–view–viewmodel”, its source revision and the description used here.
- Expand the search: follow Model–view–viewmodel primary sources, Model–view–viewmodel archive and Model research across catalogues and specialist indexes.
- Test the account: compare the strongest cited source with the responsible institution’s current record and note any disagreement.
Questions for further research
- Which source most directly establishes the central claim about “Model–view–viewmodel”?
- Which observation, specimen, dataset or publication supports the account?
- Has classification or technical consensus changed since the cited source?
Search terms from this dossier
This entry incorporates text from “Model–view–viewmodel” on English Wikipedia. Contributors are listed in the page history. Text is available under the Creative Commons Attribution-ShareAlike 4.0 License. Selected authority identifiers and statements are retrieved from Wikidata under CC0; their references and qualifiers remain part of the verification path.