# Model View Controller

### What does MVC stand for and what is it?  
- MVC stands for ***M***odel ***V***iew ***C***ontroller
- MVC is a design pattern used to organize the file structure of a full-stack application
- It is not language specific, but a variation can be found in several libraries and frameworks.

### What are the benefits of using MVC?
- Using this pattern enforces separations of concern, so it's easier to locate and modify code whenever you need to, without having to look through the entire codebase.
- Being modular, it lends itself to easy scalability
- Having files in their individual sections, allows for more control and stability when a team of developers is working on the same project.

### What are the essential components and their uses?
- *Controller*:  The "middleman" handles the bulk of the work.
* *Model*:  Handles the data in a single file or database.
- *View*:  Sole purpose to display to the browser, usually uses a templating engine

### Resources
- [YouTube - Web Dev Simplified](https://www.youtube.com/watch?v=DUg2SWWK18I)
- [YouTube - DevMarketer](https://www.youtube.com/watch?v=1IsL6g2ixak&t=1304s)
---
**Disclaimer**:  I am a person of perfection; It's one of my biggest procrastination factors. As a matter of factor, I've already re-written this disclaimer several times. I like to use the software development concepts of iterations and refactoring. 

This article is not even close to being complete, so it may get updated occasionally.
