MVC (Model View Controller)

MVC (Model View Controller) is a software architecture according to which a software application is split into three parts: the model, the view, the controller.

Also we can say this is separation between logic and UI components enough to reduce the complexity of writing GUI  MVC is called architecture but not framework. Based on the MVC architecture you can develop a framework. This architecture was first described in 1979. In spite  the concept of MVC is described in 1979 it was not so popular for many years but now it has become increasingly popular.

MVC Architecture

Model:  Model is related to the logic that is responsible for accessing and manipulating that data .
View:  View is the user interface that interacts with the user .  A view forwards user input to the controller.
Controller: Controller receives user input and initiates a response by making calls on model objects. A controller accepts input from the user and instructs the model and a view port to perform actions based on that input.

Application of MVC
MVC is a architecture that can be use in development of any software application.  There are many framework that implements the MVC architecture , just you have to use them.  Just in case if  you are not having MVC framework to work with , you can make the your application according to the MVC architecture.  MVC is not language or technology specific. It is just an architecture that you can use any where .

You can apply industry best practices. Development task can be distributed. Change in one part of the MVC do not require changes in other part of application. Changes can be easily done.It makes application scalable, ease of maintenance and modification.

DisadvantagesIt is not suitable for small application as complexity increases while using MVC