Cairngorm (Flex Framework) - Model View Controller Based Architecture

class="main">

Model View Controller Based Architecture

Cairngorm is based on the MVC model. It is specifically designed to facilitate complex state and data synchronization between the client and the server, while keeping the programming of the View layer detached from the data implementation.

The role of the View layer in a Cairngorm application is to throw events and bind to data stored in the Model. Components on the View can bind to Value Objects or other properties in the Model (data) layer.

In a Cairngorm Model, related data are stored in Value Objects (VOs), while simple variables can be stored as direct properties of the ModelLocator class. A static reference to the ModelLocator singleton instance is used by the View layers to locate the required data.

The Controller is the most sophisticated part of the Cairngorm architecture. The Controller layer is implemented as a singleton FrontController. The FrontController instance, which receives every View-generated event, dispatches the events to the assigned Command class based on the event's declared type.


The Command class then processes the event by running the Command class' execute method, which is an ICommand interface method. The event object may include additional data if required by the developer. The execute method can update the central Model, as well as invoke a Service class which typically involves communication with a remote server. The IResponder interface, which is also implemented by the Command class, includes onResult and onFault methods to handle responses returned from the invoked remote service.

Read more about this topic:  Cairngorm (Flex Framework)

Famous quotes containing the words architecture, based, model and/or view:

    For it is not metres, but a metre-making argument, that makes a poem,—a thought so passionate and alive, that, like the spirit of a plant or an animal, it has an architecture of its own, and adorns nature with a new thing.
    Ralph Waldo Emerson (1803–1882)

    Any reductionist program has to be based on an analysis of what is to be reduced. If the analysis leaves something out, the problem will be falsely posed.
    Thomas Nagel (b. 1938)

    For an artist to marry his model is as fatal as for a gourmet to marry his cook: the one gets no sittings, and the other gets no dinners.
    Oscar Wilde (1854–1900)

    The temples, the tank, the jail, the palace, the birds, the carrion, the Guest House, that came into view as they issued from the gap and saw Mau beneath: they didn’t want it, they said in their hundred voices, “No, not yet,” and the sky said, “No, not there.”
    —E.M. (Edward Morgan)