This is a lecture that explains what is MVC
MVC is an architectural paradigm in software development that deals with separation of concerns. It is used in the creation of apps by separating the project in three logical components:
- The model: Handles all the data and deals with the database as well as some logic. It specifies which data is going to be in the app.
- Views: Handles the design and presentation, basically what the user sees and interacts with.
- the controller: Handles the routes that will be used by the model and the views in the serving of data and files and also handles the server-side logic.
This separation facilitates maintenance and eases the work flow. It is also used by many web frameworks such as Ruby on Rails, Laravel, CakePHP, Django and more.
A good analogy to better understand MVC would be a TV: On your TV you can see a bunch of diferent channels shown to you by your provider, this would be the Model and all the channels that you see would be the Views and you can change the channels and decid what you want to watch using the remote, making you the Controller.
MVC is just one of many ways that you can use to structure your code, it makes it easier for deployment, maintenence and also falicitates group work. It's a solid paradigm that has bee used since the 70's, is easy to use with different frameworks and helps you get the job done.