Comparison
Model-view-controllervsModel-view-viewmodel
Model-view-controller
the browser posted to a controller, which changed the model and picked a view, and the view read the model itself.
Splitting an application into a model holding state and rules, views rendering it, and controllers handling input and choosing what happens next. The original desktop form had views observing the model directly; every server-side web framework calling itself MVC has dropped that half, so the acronym now means roughly 'request handler, template, and something behind them'. Being able to say which version you mean is most of what the interview question is after.
Full entry →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 →