What is MVC?
MVC (Model View Controller) is a software or web design pattern. It helps the user by providing him multiple views of the data. This software architecture was developed in1970 by Trygve Reenskaug. Concept of MVC was put forward by the inventors of Small Talk (a programming language).
Model View controller breaks down the object into three such as model, view and Controller. Model stands for the data; View represents how the model is visualized, Controller manipulates the state of the model. The separation is carried out on the basis of the input given by user. The presentation takes place in a user interface. The models can be divided into two types such as active and passive. Web MVC depends on passive models.
The model manages the data given to it. Model gives intimation to the observers when there is a change in the information. Model is usually an abstract form of a process taking place in the real world. The view is sometimes called the view port. The function of the view port is to display the contents on the model. At times a model carries multiple view ports. Controller interprets the user inputs and performs changes in the view and model.
MVC has many benefits. It can provide multiple views of the model at the same time. The application can be easily tested with MVC. The changes in user interface can be easily detected. But like all other software applications MVC is not free from drawbacks. The patterns are very complex in nature. There is also a chance of excessive updates. The view and the controller are closely coupled so it is very difficult to separate them.
MVC is also used in the design of a number of web applications. It is used as a View for web component. Latest frameworks such as Struts and Groovy on Grails depend on MVC.