Model View Controller

MVC = Most Valuable Concept?

What does MVC stand for and what is it?

  • MVC stands for Model View Controller
  • 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


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.