What is MVC?
MVC is broken into three parts:
Models represent the data for your application. They don't know anything about views or controllers
Views are presented to users and are how users interact with the app.
Controllers are the decision-makers. They are the glue between the model and the view.
There are multiple advantages to MVC:
Separation of Concerns
Ease of Modification
Why not MVC?
There are some drawbacks to MVC:
May not be suitable at scale
Limiting for apps with lots of state changes
Examples: Putting convention over configuration
MVC was originally intended to help an end user manipulate an underlying computer system in a more intuitive way.