Model view controller
From CSSEMediaWiki
Revision as of 07:41, 23 July 2009 by Matthew Harward (Talk | contribs)
The Model View Controller (MVC) is one of the oldest architectural patterns. It is still widely used in web and application programming.
The general premise is to separate application into three distinct parts:
- Model: The underlying model of the data, this is often provided by a back-end database.
- View: The interface with the web client/browser or the application's GUI.
- Controller: The logic (sometimes called 'business logic') that interfaces between the view and the model. In OO terms, the "controller offers facilities to change the state of the model."
The MVC is often considered circular in form, with the model providing data for the view, which uses the controller to update the model. However, in some situations the controller is thought to sit between the view and the model.