Model-View-Controller (MVC) is a classic software design pattern commonly used for applications that need the ability to maintain multiple views of the same data. The MVC pattern creates a clean separation of objects into one of three categories ó models for maintaining data, views for displaying all or a portion of the data, and controllers for handling events that affect the model or view(s). The seperation promotes the independent innovaton for models, views and controllers.
Model-View-Controller Pattern
Events cause a controller to change a model, or view, or both. Whenever a controller changes a underlying modelís data or properties, dependent views are automatically updated. Similarly, whenever a controller changes a view, for example, by revealing areas that were previously hidden, the view gets data from the underlying model to refresh itself.