Glossary » model-view-controller
(MVC) an architecture for software that separates the underlying application (model) from the user interface display (view) and input (controller).
MVC is generally implemented with callbacks – the underlying application registers with user interface widgets (in the view and controller) and gets called back by them when something changes in the interface that it must respond to. Complete separation of the model, view, and controller is not in principle entirely possible, since all of them must still contain code to communicate changes to each other. Similar in spirit to a later architecture known as abstraction-link-view (ALV).