Cairngorm (Flex framework)

Cairngorm (Flex framework)

Cairngorm is one of the primary open source frameworks for application architecture in Adobe Flex. It was developed by , who was acquired by Macromedia in 2006. It is part of the Adobe Engagement Platform.

[http://labs.adobe.com/wiki/index.php/Cairngorm Adobe Labs features Cairngorm] as the architectural framework for Rich Internet Application programmers.

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.

The nature of a Cairngorm application

A Cairngorm application can be programmed to manage any server architecture/schema.

External links

* [http://www.cairngormdocs.org/tools/CairngormDiagramExplorer.swf Cairngorm interactive diagram and code explorer]
* [http://www.asfusion.com/examples/item/hello-world-cairngorm-example Hello World Example using Cairngorm]
* [http://www.adobe.com/go/cairngorm New Cairngorm Home]
* [http://www.davidtucker.net/category/cairngorm/ Video Tutorial Series on Cairngorm]
* [http://www.artima.com/lejava/articles/gammadp.html How to Use Design Patterns, A Conversation with Erich Gamma]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Cairngorm — may refer to:* Cairngorm Mountain Railway * Cairngorms National Park, national park in Scotland * Cairngorms, mountain range in the Scottish Highlands * Cairn Gorm, mountain in the Scottish Highlands * Smoky quartz, aka Cairngormstone * Cairngorm …   Wikipedia

  • Cairngorm (mineral) — This article is about the crystal. See Cairn Gorm for the Scottish mountain. See Cairngorm (Flex framework) for the open source software. Cairngorm, also known as Smoky quartz or Smokey quartz, is a variety of quartz crystal found in the… …   Wikipedia

  • Cairngorm (informatique) — Pour les articles homonymes, voir Cairngorm. Cairngorm est un framework écrit en ActionScript 3. Il suit le motif de conception Modèle Vue Contrôleur. Ce Framework facilite la tâche du développement d’une application en offrant un squelette de… …   Wikipédia en Français

  • Model–view–controller — A general representation of the MVC design pattern. Model view controller concept. The solid line represents a direct as …   Wikipedia

  • Adobe LiveCycle — Infobox Software name = Adobe LiveCycle caption = developer = Adobe Systems Incorporated latest release version = Enterprise Suite (ES) 8.0.1 latest release date = June 2007 operating system = AIX, Linux, Solaris, Windows genre = license =… …   Wikipedia

  • Modelo Vista Controlador — Un diagrama sencillo que muestra la relación entre el modelo, la vista y el controlador. Nota: las líneas sólidas indican una asociación directa, y las punteadas una indirecta (por ejemplo, patrón Observer). Modelo Vista Controlador (MVC) es un… …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”