The model-view-controller paradigm
The dynamic user interface architecture is based on the Model-View-Controller (MVC) paradigm.
The model defines the object to be displayed (typically the application data that is stored in program variables). The view defines the decoration of the model (how the model must be displayed to the screen, this is typically the form). The controller is the interactive instruction that implements the program code to handle the model.
Views are defined in the abstract user interface tree from compiled .42f forms loaded by programs. The program variables act as models, and you implement the
controllers with interactive instructions,
such as DIALOG
or INPUT
. Controllers also define action handlers
that contain the program code to be executed when an action view is triggered.
Normally the controllers are not intended to provide any decoration information, as that is the
purpose of views. Over the course of the history of the language, however, some interactive
instructions such as MENU
define both the
controller and some presentation information such as menu title, command labels, and comments. In
this case, the runtime system automatically creates the view with that information; you can still
associate other views to the same controller.