Separation of concerns
- models contain the data and the business logic
- views present data and the set of available actions for the user,
- controllers handle user events.
We can provide multiple views for the same model.
The most popular architecture style used on the web, and most common web development frameworks.
Variants: Model View Presenter, Model View ViewModel, Model View Update, Presentation-Abstraction-Control, etc.