MVC – Model-View-Controller – is a design pattern for the architecture of web applications. It is the popular software development pattern in which business logic and data presentation are separated. In MVC pattern, model, view, and controller are managed in distinct places.
Model is that part of software which contains the function that helps to insert, update and retrive data in database. All database queries are executed within model. So the model is called the heart of software.
Controller is another part which serves as intermediatory between the model, view and other resources needed to process the HTTP request. It also responsible for the responding to the user action. It controls the action of models. It may also called the input section of the software.
View, as name indicates that it is the output section of the software design pattern. It contains all information that is being presented to the user. It is the data presentation layer of software. It always remains in the outermost layer of the software. It is visible to the user.
The benefits of MVC patterns are as follows:
- Separation of concerns in the codebase
- Developer specialization and focus
- Parallel development by separate teams
The relationship between model, view and controller in MVC pattern can be shown by following figure…