MVC Architecture (Model-View-Controller)

MVC is an architectural design pattern that is used to develop applications.

It states that the application should be logically divided into 3 components namely: model, view, and controller.


The model layer is responsible for handling data. It is connected to the data source and helps in performing data-related operations


The view layer is responsible for handling the view logic or you can say representation of data as a User Interface.


The controller layer is responsible for handling the communication between the view and the model. It receives a request from the user then based on the requirement it communicates with the model and view layer and returns the expected response.


  • Separation of concerns
  • Some level of reusability for controller and data layer.
  • Easier to maintain
  • Easier to test individual layers


  • Increased complexity as the app grows
  • Data accessibility in the view layer becomes inefficient with app growth


No comments yet. Why don’t you start the discussion?

Leave a Reply

Your email address will not be published. Required fields are marked *