Model View Controller
[architectural-patterns][mvc-vs-mvp]
Separating data from presentation is the core theme of Graphical User Interfaces (both web-based or desktop-based). With MVC — Model View Controller, separating presentation (View) from domain concerns (Model) was the primary design motivation. In MVC, View object displays the data held by a Model object. The Controller object responds to user input and interaction.
- View and Controller exist as a pair
- Controller is responsible for intercepting events
- Model implements the [observer pattern]
- View subscribes to model for changes
- Model possesses no knowledge of Controller and View