Wednesday, June 23, 2010

Cairngorm

pronounced "cayre-n-gorm"

Cairngorm Community
http://www.cairngormdocs.org/

About Cairngorm
http://opensource.adobe.com/wiki/display/cairngorm/About

Six-part article
http://www.adobe.com/devnet/flex/articles/cairngorm_pt1.html
-Value Object(VO) pattern/Data Transfer Object(DTO) pattern
-Model Locator pattern
-Service to Worker

Get Started with Cairngorm
http://www.davidtucker.net/category/cairngorm/

Creating an application using the Cairngorm framework
http://www.adobe.com/devnet/flex/learn/content/flp_adobetraining_f3ic_cairngorm.html

Model <= [data binding] =>View <= [events] =>Controller

Cairngorm is fundamentally a methodology for breaking up your application code by logical functions? by data, by user views, and by the code that controls everything. This is routinely referred to as MVC, or Model, View, and Control.

The Pieces of Cairngorm
· Model Locator: Stores all of your application’s Value Objects (data) and shared variables, in one place. Similar to an HTTP Session object, except that its stored client side in the Flex interface instead of server side within a middle tier application server.
· View: One or more Flex components (button, panel, combo box, Tile, etc) bundled together as a named unit, bound to data in the Model Locator, and generating custom Cairngorm Events based on user interaction (clicks, rollovers, dragndrop.)
· Front Controller: Receives Cairngorm Events and maps them to Cairngorm Commands.
· Command: Handles business logic, calls Cairngorm Delegates and/or other Commands, and updates the Value Objects and variables stored in the Model Locator
· Delegate: Created by a Command, they instantiate remote procedure calls (HTTP, Web Services, etc) and hand the results back to that Command.
· Service: Defines the remote procedure calls (HTTP, Web Services, etc) to connect to remote data stores.
Source: http://www.digimmersion.com/support/Flex%20UI%20Design%20For%20Cairngorm.pdf

Cairngorm Diagram
http://www.cairngormdocs.org/cairngormDiagram/cairngorm2_rpc.swf

No comments:

Post a Comment