The Model-View-Controller Architecture is commonly used by desktop applications such as word processors and spread sheets.
The principle behind the pattern is this:
Application logic should
be independent of presentation logic
There are three components:
The view is the user interface. It sends commands to the controller for execution. To do this, the controller must interact with the model, which encapsulates application data and logic.
Here's a typical interaction:
Some developers fold the controller into the view, and thus the pattern is also called the Model-View pattern. Microsoft calls the model the document and thus the pattern is also known as the Document-View pattern.
Several component patterns are commonly used to implement the MVC components: