What is the MVC (Model-View-Controller) Pattern?

Updated Apr 28, 2026

Short answer

An architectural pattern that separates an application into three main logical components: Model, View, and Controller.

Deep explanation

The Model manages data and business logic. The View handles layout and display. The Controller routes commands to the model and updates the view. This separation of concerns makes large applications manageable and testable.

Real-world example

Traditional web frameworks like Ruby on Rails, Django, or ASP.NET MVC.

Common mistakes

  • Putting business logic in the Controller (fat controllers) instead of the Model.

Follow-up questions

  • What is the difference between MVC and MVVM?

More Design Patterns interview questions

View all →