57. OOP Basics Part 4
The Model View Controller (MVC) design pattern specifies that an application consist of a data model, presentation information, and control information. The pattern requires that each of these be separated into different objects. MVC is the short form of model, view, controller.
View represent the UI that reach the user. Controllers accept input and convert commands for model and view, as a bridge for them to communicate.
While model manages the data, logic and rules of the application.
The advantages are including multiple developers can work simultaneously on the model, controller and views. It also enables logical grouping of related actions on a controller together. The views for a specific model are also grouped together. Moreover, models can have multiple views.
However, there are also disadvantages. The framework navigation can be complex because it introduces new layers of abstraction and requires users to adapt to the decomposition criteria of MVC. In addition, knowledge on multiple technologies becomes the norm. Developers using MVC need to be skilled in multiple technologies.
