Refactoring Mockingbird: Cairngorm

Mockingbird was the first end-to-end Flex application I’ve built, and definitely the largest application I’ve built using any technology. Over the last two years, I’ve learned a whole lot about application architecture.

As I’ve mentioned previously, we didn’t always have time to properly architect everything. Of course, I knew we’d pay a “code tax” on each shortcut. And boy, have we paid them over time. In order to make each new set of changes within a reasonable amount of time my previous hacks require even worse hacks!

In fact, code hacks are exactly the same thing as telling lies. They start small, but the more often you do it the more it snowballs. The hacks (lies) have to get bigger each time in order to incorporate (and compensate for) the earlier hacks (lies).

I’ve looked at Cairngorm many, many times over the last two years wanting to apply it to Mockingbird. At first, I didn’t have a firm enough grasp on Cairngorm to implement it effectively. And once I did, we didn’t have the time to refactor Mockingbird to leverage it.

Well, it’s time to pay the taxman.

Rapid and consistent development with Cairngorm and Flex. Definitely the clearest explanation of Cairngorm. It’s a tidy summary of the entire micro-architecture end-to-end. Also includes an example feature addition and its implementation. This is the sixth (and final) part in a series on Cairngorm that goes into all the pieces in more detail. Definitely recommended reading for the Flex developers out there.

2 Comments so far

  1. Erik on October 12th, 2008

    You may also be interested in reading Joe Berkovitz’s article on MVCS, which is not a framework that you can download and use, but is rather a helpful distillation of a proven architecture for RIAs.

    http://www.adobe.com/devnet/flex/articles/blueprint.html

  2. Troy on October 12th, 2008

    Definitely something I’ve read, and loved. Joe’s article was a welcomed alternate viewpoint on Flex MVCS (so much then was Cairngorm-focused). It was really lightweight, very improvisational. I wished he’d write a whole lot more on the subject, I liked where he was headed!

Leave a Reply