The Model-View-Controller pattern
The Model-View-Controller pattern or MVC is one of the first presentation patterns designed in the 70s for the development of graphical user interfaces. Over the years, there have been several variants of the pattern, also due to the evolution of technology, but its basic structure remained virtually the same. As its name suggests, in addition to the Model and the View, the distinguishing feature is given by the Controller.
The Model, View, and Controller each have their own role and all together manage the user interaction, as depicted in the following image:
The View's role is to dealing with user's interaction. It displays the data provided by the Model and gets the user's input. The Controller interacts with the Model as the result of responding to the user input. When the user enters data through the view, the Controller intercepts the user's input and updates the Model. The distribution of tasks between the three components of the pattern promotes the...