Comparison
Model-view-viewmodelvsPresentation model
Model-view-viewmodel
you changed a property on the viewmodel and the label updated, and no code you wrote connected the two.
A presentation model plus declarative data binding: the view binds to properties and commands on a viewmodel, and the framework propagates changes both ways. It removes the per-field wiring that MVP requires and moves the cost into a binding layer whose failures are silent — a misspelled binding path that simply shows nothing. It requires framework support to exist at all, which is the practical difference from presentation model.
Full entry →Presentation model
there is an object holding the state of the screen — what is selected, what is disabled — and it is not the domain object.
An object that represents the state and behaviour of a view independently of any UI framework, which the view then reflects. It differs from MVP in direction: the presenter pushes into a passive view, while a presentation model is pulled from or bound to. It is the direct ancestor of MVVM, whose only real addition is that the binding is automatic.
Full entry →