Graphic Components > Architecture of Graphic Components > The MVC Architecture: An Overview

In the MVC paradigm, the end user input, the modeling of the external world, and the visual feedback to the user are explicitly separated and handled by three kinds of objects: the model, the view, and the controller.

The MVC paradigm decouples the views and models by establishing a subscribe/notify protocol between them. A view must ensure that its appearance reflects the state of the model, and a model must ensure that whenever its content undergoes modifications, all the connected views are updated accordingly. With this approach, multiple views can be connected to the same set of information while providing different graphic representations, which may be dependent on the view configuration.

Unlike the model, which may be loosely connected to multiple view-controller pairs, each view is associated with a unique controller and vice versa. Therefore, although the model is limited to sending notifications about changes in its structure or content using the subscribe/notify protocol, both the view and the controller can send messages directly to each other and to their model.

In JViews TGO, the MVC architecture is defined by the set of interfaces shown in Figure 6.1.

images/tgo_architecture_overview.png

Figure 6.1 Classes Implementing the MVC Architecture in ILOG JTGO