The Model-View-Controller (MVC) is one of the classic architectural patterns from the book "Pattern-Oriented Software Architecture, Volume 1". It addresses interactive applications with a flexible human-machine interface.
by Rainer Grimm
From the article:
The MVC divides the program logic of a user interface into separate components model, view, and controller. The model manages the data and rules of the application. The view represents the data, and the controller interacts with the user.
- User interfaces need to be changed frequently
- Different user interfaces must be supported
- The data model is stable
- The application is divided into the components Model (data model), View (output components), and Controller (input components)
- Multiple output components can use the same data model