Introducing MVC
Model View Controller or MVC is a well known and popular architectural pattern for building interactive applications. MVC splits the application into three components: the Model, the View, and the Controller.
The three components perform the following responsibilities:
Model: The model contains the core data and logic of the application.
View: The view(s) form the output of the application to the user. They display information to the user. Multiple views of the same data are possible.
Controller: The controller receives and processes user input such as keyboard clicks or mouse clicks/movements, and converts them into change requests for the model or the view.
Separation of concerns using these three components avoids tight coupling between the data of the application and its representation. It allows for multiple representations (views) of the same data (model), which can be computed and presented according to user input received via...