<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Cairngorm: a tired old horse that should be put down</title>
	<atom:link href="http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/</link>
	<description>All about software development</description>
	<lastBuildDate>Fri, 18 Jun 2010 00:37:06 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
	<item>
		<title>By: Tristan</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-801</link>
		<dc:creator>Tristan</dc:creator>
		<pubDate>Thu, 25 Mar 2010 21:48:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-801</guid>
		<description>So glad I found this post and I&#039;m not alone in thinking this - Cairngorm&#039;s Frontcontroller-event-command-delegate structure is absolutely useless extra cruft on top of what should be a single class! I realized this today after going back to write a new service call, and I thought to myself, screw this I&#039;ll make the thing be the responder and call its service method; way easier to use, understand, and manage, and you lose nothing in the process.

One good concept out of Cairngorm, as you&#039;ve mentioned, is the ModelLocator idea. It&#039;s invaluable for keeping the client and server in sync with large data sets, and ensuring that everything bound to data is bound to the same data. Even then, Cairngorm&#039;s examples and suggestions there weren&#039;t very useful either; better to just run with the concept and roll your own.

Whew. Glad there&#039;s agreement around here. Excuse me while I go get rid of a few dozen classes...</description>
		<content:encoded><![CDATA[<p>So glad I found this post and I&#8217;m not alone in thinking this &#8211; Cairngorm&#8217;s Frontcontroller-event-command-delegate structure is absolutely useless extra cruft on top of what should be a single class! I realized this today after going back to write a new service call, and I thought to myself, screw this I&#8217;ll make the thing be the responder and call its service method; way easier to use, understand, and manage, and you lose nothing in the process.</p>
<p>One good concept out of Cairngorm, as you&#8217;ve mentioned, is the ModelLocator idea. It&#8217;s invaluable for keeping the client and server in sync with large data sets, and ensuring that everything bound to data is bound to the same data. Even then, Cairngorm&#8217;s examples and suggestions there weren&#8217;t very useful either; better to just run with the concept and roll your own.</p>
<p>Whew. Glad there&#8217;s agreement around here. Excuse me while I go get rid of a few dozen classes&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mikew909</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-756</link>
		<dc:creator>mikew909</dc:creator>
		<pubDate>Wed, 14 Oct 2009 05:58:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-756</guid>
		<description>nice post :) 100% agree with this. ive checked both PureMVC and cairgorm - and i was left with conclusion - both lead to serious code bloat, that makes the project unwieldy to navigate as the the number of classes increases quickly more code = more testing. theres better ways to implement MVC than using this strict approach imo (check Danny Patterson&#039;s book on AS3 Design Patterns for one).having said that if youre using continuous integration and maven there&#039;s a lot of power in cairgorm if u dont mind a serious investment in time and effort. I would love to hear a case for Facade pattern in AS3 if anyone knows.</description>
		<content:encoded><![CDATA[<p>nice post <img src='http://www.totalworldannihilation.org/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  100% agree with this. ive checked both PureMVC and cairgorm &#8211; and i was left with conclusion &#8211; both lead to serious code bloat, that makes the project unwieldy to navigate as the the number of classes increases quickly more code = more testing. theres better ways to implement MVC than using this strict approach imo (check Danny Patterson&#8217;s book on AS3 Design Patterns for one).having said that if youre using continuous integration and maven there&#8217;s a lot of power in cairgorm if u dont mind a serious investment in time and effort. I would love to hear a case for Facade pattern in AS3 if anyone knows.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jess</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-719</link>
		<dc:creator>jess</dc:creator>
		<pubDate>Wed, 22 Jul 2009 21:24:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-719</guid>
		<description>James
Maybe you should re-read the article. This is about cairngorm not MVC. Just because i think a Pontiac Aztec (Cairngorm) is a pos, doesn&#039;t mean i have a problem with cars (MVC).

Try writing test case classes for a large application using Cairngorm, then tell me what you think about it.</description>
		<content:encoded><![CDATA[<p>James<br />
Maybe you should re-read the article. This is about cairngorm not MVC. Just because i think a Pontiac Aztec (Cairngorm) is a pos, doesn&#8217;t mean i have a problem with cars (MVC).</p>
<p>Try writing test case classes for a large application using Cairngorm, then tell me what you think about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Steven Webster</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-157</link>
		<dc:creator>Steven Webster</dc:creator>
		<pubDate>Mon, 26 May 2008 18:29:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-157</guid>
		<description>Please see recent post to http://weblogs.macromedia.com/swebste r- Cairngorm will be moving to opensource.adobe.com in the very near future, in order that we can more easily accept community contributions.  In addition, there are other Adobe Consulting blogs (and presentations such as Flex 360 and MAX) where we&#039;ve also shared our views on presentation model patterns alongside (not instead of) Cairngorm.  We endeavour to publish more around how we use Cairngorm in the near future.</description>
		<content:encoded><![CDATA[<p>Please see recent post to <a href="http://weblogs.macromedia.com/swebste" rel="nofollow">http://weblogs.macromedia.com/swebste</a> r- Cairngorm will be moving to opensource.adobe.com in the very near future, in order that we can more easily accept community contributions.  In addition, there are other Adobe Consulting blogs (and presentations such as Flex 360 and MAX) where we&#8217;ve also shared our views on presentation model patterns alongside (not instead of) Cairngorm.  We endeavour to publish more around how we use Cairngorm in the near future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: leftieFriele</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-141</link>
		<dc:creator>leftieFriele</dc:creator>
		<pubDate>Sun, 18 May 2008 11:30:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-141</guid>
		<description>Hi James, I am glad you fond the posting entertaining ;)
However I think you are somehow missing my point, I am not saying the MVC pattern is bad. Like you say this is a tried and tested way of creating applications. 
I complain about Cairngorms implementation of the MVC pattern and how it really does not aid developers. I think largely Cairngorms problems are there because it&#039;s an old framework. A few years back in Java you had the old Struts framework and Web Work. Everyone rightfully complained about Struts and the fact it was old and filled with hassles. Whereas the new kid on the block, Web Work, was brilliant and really helped speed up development. I feel the Flex world is at this spot right now, only that there is no WebWork out there yet. 

Cairngorm as a framework makes you have to write too much code. More code, more potential for bugs. Secondly Cairngorm based applications are a bit too complicated to unit test which is also a very important aspect of what you call &quot;Pro frameworks&quot;. Cairngorm solves some issues new developers may struggle with, but it makes your code base become bloated with event and command classes. In addition it really doesn&#039;t have any good solution for more complex asynchronous operations such as a batch or requests for web service (I know about the sequence command, but that&#039;s a horrible solution).

I think your points about PureMVC and it&#039;s use in Flash are very good points and obviously I&#039;m not a Flash developer so I guess my comment was a bit off due to lack of knowledge.</description>
		<content:encoded><![CDATA[<p>Hi James, I am glad you fond the posting entertaining <img src='http://www.totalworldannihilation.org/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
However I think you are somehow missing my point, I am not saying the MVC pattern is bad. Like you say this is a tried and tested way of creating applications.<br />
I complain about Cairngorms implementation of the MVC pattern and how it really does not aid developers. I think largely Cairngorms problems are there because it&#8217;s an old framework. A few years back in Java you had the old Struts framework and Web Work. Everyone rightfully complained about Struts and the fact it was old and filled with hassles. Whereas the new kid on the block, Web Work, was brilliant and really helped speed up development. I feel the Flex world is at this spot right now, only that there is no WebWork out there yet. </p>
<p>Cairngorm as a framework makes you have to write too much code. More code, more potential for bugs. Secondly Cairngorm based applications are a bit too complicated to unit test which is also a very important aspect of what you call &#8220;Pro frameworks&#8221;. Cairngorm solves some issues new developers may struggle with, but it makes your code base become bloated with event and command classes. In addition it really doesn&#8217;t have any good solution for more complex asynchronous operations such as a batch or requests for web service (I know about the sequence command, but that&#8217;s a horrible solution).</p>
<p>I think your points about PureMVC and it&#8217;s use in Flash are very good points and obviously I&#8217;m not a Flash developer so I guess my comment was a bit off due to lack of knowledge.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Lloyd</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-139</link>
		<dc:creator>James Lloyd</dc:creator>
		<pubDate>Sun, 18 May 2008 02:05:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-139</guid>
		<description>In addition to my comments below, note the following about PureMVC and databingding:

Daniel said:

&gt; [PureMVC] ...lacks support
&gt; for key Flex features such 
&gt; as Data Binding. In my 
&gt; book this makes the 
&gt; framework not worth using 
&gt; as this is a feature which 
&gt; makes Flex so amazing to 
&gt; work with.

Cairngorm doesn&#039;t &#039;support&#039; data binding either. Well, not as such. Data binding is a built in feature of Flex. Cairngorm simply doesn&#039;t provide another mechanism for getting the data to you. 

Using PureMVC doesn&#039;t make the Flex data binding stop working. It&#039;s still there and you can use it. What PureMVC does do, is to provide extra features so that it can be used in other Actionscript environments that don&#039;t support data binding, such as FlashCS3. 

You can use Cairngorm outside flex, but you will have to come up with your own mechanisms to replace data binding. With PureMVC, it is all already there.

PureMVC does support data binding. Anything in Flex supports data binding. You can&#039;t switch it off. If you want to use it, there it is.</description>
		<content:encoded><![CDATA[<p>In addition to my comments below, note the following about PureMVC and databingding:</p>
<p>Daniel said:</p>
<p>&gt; [PureMVC] &#8230;lacks support<br />
&gt; for key Flex features such<br />
&gt; as Data Binding. In my<br />
&gt; book this makes the<br />
&gt; framework not worth using<br />
&gt; as this is a feature which<br />
&gt; makes Flex so amazing to<br />
&gt; work with.</p>
<p>Cairngorm doesn&#8217;t &#8216;support&#8217; data binding either. Well, not as such. Data binding is a built in feature of Flex. Cairngorm simply doesn&#8217;t provide another mechanism for getting the data to you. </p>
<p>Using PureMVC doesn&#8217;t make the Flex data binding stop working. It&#8217;s still there and you can use it. What PureMVC does do, is to provide extra features so that it can be used in other Actionscript environments that don&#8217;t support data binding, such as FlashCS3. </p>
<p>You can use Cairngorm outside flex, but you will have to come up with your own mechanisms to replace data binding. With PureMVC, it is all already there.</p>
<p>PureMVC does support data binding. Anything in Flex supports data binding. You can&#8217;t switch it off. If you want to use it, there it is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Lloyd</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-138</link>
		<dc:creator>James Lloyd</dc:creator>
		<pubDate>Sun, 18 May 2008 01:47:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-138</guid>
		<description>&gt; I have not used PureMVC 
&gt; in an actual project, but 
&gt; I have studied the 
&gt; documentation and I feel it 
&gt; suffers from a obsession with 
&gt; patterns without there being a 
&gt; need for all of them.

The reason that Cairngorm and PureMVC use several patterns and classes is because each and every thing is reuseable. They are both designed so that each and every bit of code you write, does one thing and you never have to write it again or maintain it in multiple places. So, while it takes a bit longer to write it the first time, you will never have to do it again. 

You write the code that gets the data from a service, and you can reuse it with other commands that do different things with the code. Simple. There is most definitely a need for all the patterns. The people who wrote these frameworks knew exactly what they were doing. 


&gt; PureMVC is a generic 
&gt; framework which is ported to 
&gt; ActionScript

Actually, PureMVC was not ported to Actionscript. It was written specifically for Actionscript and ported everywhere else.

&gt; which means that it lacks 
&gt; support for key Flex features 
&gt; such as Data Binding. 

Consider this. Many developers work with both Flex and Flash CS3 and Actionscript AS2 and AS3. I&#039;m sure they&#039;d love to work purely in Flex / AS3 all the time, but the commercial world isn&#039;t like that. Sometimes they have to do whatever is already there. 

Flash CS3 does not support data binding. Flex does not support AS2, yet PureMVC supports them all. Developers can use PureMVC across all their projects and on the server using PHP. One framework to rule them all. There is no other framework that does that.

As far as data-binding goes, it isn&#039;t as much of a loss as you would think. 

&gt; In my book this makes the
&gt; framework not worth using

The fact that PureMVC is generic, was a masterstroke on the part of the designer.</description>
		<content:encoded><![CDATA[<p>&gt; I have not used PureMVC<br />
&gt; in an actual project, but<br />
&gt; I have studied the<br />
&gt; documentation and I feel it<br />
&gt; suffers from a obsession with<br />
&gt; patterns without there being a<br />
&gt; need for all of them.</p>
<p>The reason that Cairngorm and PureMVC use several patterns and classes is because each and every thing is reuseable. They are both designed so that each and every bit of code you write, does one thing and you never have to write it again or maintain it in multiple places. So, while it takes a bit longer to write it the first time, you will never have to do it again. </p>
<p>You write the code that gets the data from a service, and you can reuse it with other commands that do different things with the code. Simple. There is most definitely a need for all the patterns. The people who wrote these frameworks knew exactly what they were doing. </p>
<p>&gt; PureMVC is a generic<br />
&gt; framework which is ported to<br />
&gt; ActionScript</p>
<p>Actually, PureMVC was not ported to Actionscript. It was written specifically for Actionscript and ported everywhere else.</p>
<p>&gt; which means that it lacks<br />
&gt; support for key Flex features<br />
&gt; such as Data Binding. </p>
<p>Consider this. Many developers work with both Flex and Flash CS3 and Actionscript AS2 and AS3. I&#8217;m sure they&#8217;d love to work purely in Flex / AS3 all the time, but the commercial world isn&#8217;t like that. Sometimes they have to do whatever is already there. </p>
<p>Flash CS3 does not support data binding. Flex does not support AS2, yet PureMVC supports them all. Developers can use PureMVC across all their projects and on the server using PHP. One framework to rule them all. There is no other framework that does that.</p>
<p>As far as data-binding goes, it isn&#8217;t as much of a loss as you would think. </p>
<p>&gt; In my book this makes the<br />
&gt; framework not worth using</p>
<p>The fact that PureMVC is generic, was a masterstroke on the part of the designer.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Lloyd</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-137</link>
		<dc:creator>James Lloyd</dc:creator>
		<pubDate>Sun, 18 May 2008 01:24:43 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-137</guid>
		<description>&gt; Any of you used PureMVC? Is it any better?

I use both Cairngorm and PureMVC - Cairngrom with Flex and PureMVC with FlashCS3.

Pure MVC is similar to Caringorm, but uses more classes. There&#039;s more to learn with PureMVC.

Both PureMVC and Cairngorm are excellent PRO quality frameworks.

You have to understand that while there is a certain amount of code to write when using either of these frameworks, you only write it once and reuse and reuse and reuse it. 

It takes me around 20 minutes to set up a project for either Cairngorm or PureMVC. The time you spend doing that will reap huge benefits as you go along.

Say what you like about MVC, but for anyone reading this who is thinking about using these frameworks, you should realise that MVC is used everywhere, by everyone throughout the software industry. From computer games, to spreadsheets, to music sequencers, to accounting software, to air traffic control, to NASA.

Using MVC is not only about the time it takes to write software. It&#039;s also about maintenance. If you use MVC properly, maintaining your application will become an order of magnitude faster and you will be able to make radical changes to your code without breaking it.

Both Cairngorm and PureMVC are pro quality frameworks. They are not for the faint of heart. It may take you a little longer to get started with an app, but you will speed ahead.

I laughed when I read this article. For example:

&gt; I could not help to notice that 
&gt; there really was a few things 
&gt; about the framework that 
&gt; really started to degrade the 
&gt; quality of our code base and 
&gt; really made our application 
&gt; harder to maintain.

With millions of the best programmers in the world using MVC, I won&#039;t be the only one wondering about the competency of programmers who manage to get into a maintenance mess when using an architecture that is designed to cure that scenario.

This one really made me laugh:

&gt; you really donâ€™t want to mimic 
&gt; a Java web application when 
&gt; you have such a great 
&gt; framework as Flex!

Flex isn&#039;t an architectural framework. There is no comparison. LOL. MVC wasn&#039;t created for Java or the web. It is platform and language agnostic. The Java world uses it because it works, just as the rest of the world uses it because it works. 

All development on Apple computers, from the mac to the iPhone is done using MVC. It&#039;s built into the entire process - the libraries and all development tools. Everything is MVC on a mac. MVC permeates the entire world of software, from mainframes, to the desktop and the web.</description>
		<content:encoded><![CDATA[<p>&gt; Any of you used PureMVC? Is it any better?</p>
<p>I use both Cairngorm and PureMVC &#8211; Cairngrom with Flex and PureMVC with FlashCS3.</p>
<p>Pure MVC is similar to Caringorm, but uses more classes. There&#8217;s more to learn with PureMVC.</p>
<p>Both PureMVC and Cairngorm are excellent PRO quality frameworks.</p>
<p>You have to understand that while there is a certain amount of code to write when using either of these frameworks, you only write it once and reuse and reuse and reuse it. </p>
<p>It takes me around 20 minutes to set up a project for either Cairngorm or PureMVC. The time you spend doing that will reap huge benefits as you go along.</p>
<p>Say what you like about MVC, but for anyone reading this who is thinking about using these frameworks, you should realise that MVC is used everywhere, by everyone throughout the software industry. From computer games, to spreadsheets, to music sequencers, to accounting software, to air traffic control, to NASA.</p>
<p>Using MVC is not only about the time it takes to write software. It&#8217;s also about maintenance. If you use MVC properly, maintaining your application will become an order of magnitude faster and you will be able to make radical changes to your code without breaking it.</p>
<p>Both Cairngorm and PureMVC are pro quality frameworks. They are not for the faint of heart. It may take you a little longer to get started with an app, but you will speed ahead.</p>
<p>I laughed when I read this article. For example:</p>
<p>&gt; I could not help to notice that<br />
&gt; there really was a few things<br />
&gt; about the framework that<br />
&gt; really started to degrade the<br />
&gt; quality of our code base and<br />
&gt; really made our application<br />
&gt; harder to maintain.</p>
<p>With millions of the best programmers in the world using MVC, I won&#8217;t be the only one wondering about the competency of programmers who manage to get into a maintenance mess when using an architecture that is designed to cure that scenario.</p>
<p>This one really made me laugh:</p>
<p>&gt; you really donâ€™t want to mimic<br />
&gt; a Java web application when<br />
&gt; you have such a great<br />
&gt; framework as Flex!</p>
<p>Flex isn&#8217;t an architectural framework. There is no comparison. LOL. MVC wasn&#8217;t created for Java or the web. It is platform and language agnostic. The Java world uses it because it works, just as the rest of the world uses it because it works. </p>
<p>All development on Apple computers, from the mac to the iPhone is done using MVC. It&#8217;s built into the entire process &#8211; the libraries and all development tools. Everything is MVC on a mac. MVC permeates the entire world of software, from mainframes, to the desktop and the web.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: leftieFriele</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-127</link>
		<dc:creator>leftieFriele</dc:creator>
		<pubDate>Wed, 14 May 2008 18:37:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-127</guid>
		<description>Cairngorm isn&#039;t all bad, like I mentioned I used it as a crutch when I started learning Flex. 

but I think once you&#039;ve learned basic Flex and built a application in Cairngorm you will profit from just building your own architecture. 

what is difficult in Flex is not retrieving serverside data and stuff like that, it&#039;s more related to UI work. so I think just don&#039;t focusing that much on frameworks allows you to work with what&#039;ll be a challenge: the user interaction.</description>
		<content:encoded><![CDATA[<p>Cairngorm isn&#8217;t all bad, like I mentioned I used it as a crutch when I started learning Flex. </p>
<p>but I think once you&#8217;ve learned basic Flex and built a application in Cairngorm you will profit from just building your own architecture. </p>
<p>what is difficult in Flex is not retrieving serverside data and stuff like that, it&#8217;s more related to UI work. so I think just don&#8217;t focusing that much on frameworks allows you to work with what&#8217;ll be a challenge: the user interaction.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: _equ</title>
		<link>http://www.totalworldannihilation.org/blog/2008/04/11/cairngorm-a-tired-old-horse-that-should-be-put-down/comment-page-1/#comment-126</link>
		<dc:creator>_equ</dc:creator>
		<pubDate>Wed, 14 May 2008 17:30:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.totalworldannihilation.org/blog/?p=34#comment-126</guid>
		<description>Cairngorm is bad, PureMVC is bad.. Is there any other good framework besides them?</description>
		<content:encoded><![CDATA[<p>Cairngorm is bad, PureMVC is bad.. Is there any other good framework besides them?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
