[AS3] Cairngorm

Visit ADOBE Cairngorm web site !

Cairngorm is the lightweight micro-architecture for Rich Internet Applications built in Flex or AIR.
The Cairngorm actionscript framework is based on the Model View Controler design pattern. This project was initiated by Steven Webster from the iteration::two scottish firm. The name Cairngorm comes from the name of the scottish main mountain.
The Cairngorm 3.0 version integrate new libraries in partnership mainly with Parsley framework bit either with Swiz and Spring.


¬ Cairngorm definition on Wikipedia
¬ About Cairngorm
¬ Introducing Cairngorm
¬ CairngormDocs site

¬ Getting Started with Cairngorm 3

Related Principles
¬ Martin, R. Single Responsiblity Principle of OOD principles.


Cairngorm 3 Libraries

The Design by Contract library allows to assert pre and post-conditions, following the idea of Design by Contract. Its use of conditional compilation ensures that production code remains unaffected.

Libraries Dependencies Description
Design by Contract The Design by Contract library allows to assert pre and post-conditions, following the idea of Design by Contract. Its use of conditional compilation ensures that production code remains unaffected.
Observer The Cairngorm Observer library provides a set of non-visual components for declaration in MXML that observe other objects and react to changes in some way and execute view behaviour. These components help to reduce the amount of Script-block logic required in MXML components.
Popup The Cairngorm Popup library contains components for managing the opening, closure and general behavior of popups. They are designed to minimize Script-block logic in MXML components and to reduce code duplication across applications that manage multiple popups.
Task The Cairngorm Task library provides an abstraction for performing tasks in sequence and parallel. It might be used for coordinating the start-up sequence of an application or for managing a series of asynchronous processes that need to be performed in a certain order.
Validation The Cairngorm Validation library is designed to simplify validation of user input and other data. Instead of declaring validators individually in MXML and coordinating them manually, a group of validators can be defined using the ValidatorGroup component. The validity of the whole group can then be determined as one. Validator groups can be nested and detached from the view and applied to other layers of an application, such as a domain model. Additional components are provided for observing validation rules and updating view components to highlight validation errors.
Navigation Parsley
Spring ActionScript
The Cairngorm Navigation library provides utilities to ease the creation of point-to-point, hierarchical and deferred navigations, global and local history tracking, wizards, and enter and exit interceptions. It can reduce the amount of Script-block logic needed by allowing dedicated objects to control navigational concerns.
Module Parsley The Cairngorm Module library is designed to simplify the configuration, rendering and loading of modular content. Additonally it offers flexiblity to communicate to modules. It contains infrastructure classes, view components, a mechanism for loading and communicating to modular content on-demand in response to Parsley messages.
Persistence The Persistence library eases the communication between an Adobe AIR application and an SQLite database. Both use different type systems (relational SQL versus object-oriented ActionScript). This Object Relational Mapping (ORM) library follows an iBATIS approach.
Integration The integration library provides utilities to loosely-couple concerns of the communication with external environments with other client side architectural layers. Aside from sending and retrieving data, it also offers structures to manage global error handling, conflict resolution, and offers presentation components access progress and error information in a loosely coupled way. Supported are currently RPC, data management using LCDS, and LocalConnection. In the current version of the IntegrationParsley and IntegrationDMS libraries are dependent on Parsley. The Integration libray containing the IDataCache utility does not depend on the Parsley framework but uses the Spicelib utility library for reflection on metadata. You can use IDataCache with any IoC framework.

Source : Adobe Cairngorm – Cairngorm Libraries

Complementary tools
¬ Adobe Eclipse Plugin, see related Cairngorm plugin documentation
¬ Flex Formatter, this tool is an Eclipse editor plugin to provide source code formatting for Adobe Flex code (i.e. Actionscript and MXML).
¬ Cairngen
¬ KapIT Cairngorm console



Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s


Visit home automation section !
Explore multimedia section !

Technical readings

Matthew Casperson - Away3D 3.6 Essentials Dave Mathews  - Panda 3D 1.6 Game Engine [PACKT]



Georges Bernanos - Journal d'un curé de campagne

Comics & Photography & more…

Opus Délits - Jacques Villeglé

Discover Infra-Mince n°6 edited by Actes Sud ! Benoît Peeters & Jacques Samson - Chris Ware, la bande dessinée réinventée

Have fun with this blog and don’t hesitate to comment, to suggest and to share your experience!


%d bloggers like this: