The main objective of the MVC design pattern is separation
of concerns. It provides an isolation of the application’s presentation layer
that displays the data in the user interface, from the way the data is actually
processed. In other words, it isolates the application’s data from how the data
is actually processed by the application’s business logic layer. The biggest
advantage of the MVC design pattern is that you have a nice isolation of these
components/layers and you can change any one of them without the rest being
affected. Here is the list of the major advantages of this pattern.
It provides a clean separation of concerns.
It is easier to test code that implements this pattern.
It promotes better code organization, extensibility, scalability
and code re-use.
It facilitates de-coupling the application's layers.