<?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: Architecting a Flex 4 component</title>
	<atom:link href="http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/feed/" rel="self" type="application/rss+xml" />
	<link>http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/</link>
	<description>Sharing ideas on Rich Internet Application Development</description>
	<lastBuildDate>Tue, 20 Oct 2009 18:28:35 +0200</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Twitter Trackbacks for Architecting a Flex 4 component &#124; Ayone Blog [ayonesoftware.com] on Topsy.com</title>
		<link>http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/comment-page-1/#comment-137</link>
		<dc:creator>Twitter Trackbacks for Architecting a Flex 4 component &#124; Ayone Blog [ayonesoftware.com] on Topsy.com</dc:creator>
		<pubDate>Sun, 30 Aug 2009 14:10:56 +0000</pubDate>
		<guid isPermaLink="false">http://ayonesoftware.com/blog/?p=24#comment-137</guid>
		<description>[...] Architecting a Flex 4 component &#124; Ayone Blog  ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component &#8211; view page &#8211; cached  #Ayone Blog RSS Feed Ayone Blog » Architecting a Flex 4 component Comments Feed Ayone Blog We are back in the blogosphere, with a little extra Flex 4 Memory Optimizations Spring BlazeDS Integration on top of SpringSource dm &#8212; From the page [...]</description>
		<content:encoded><![CDATA[<p>[...] Architecting a Flex 4 component | Ayone Blog  ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component &ndash; view page &ndash; cached  #Ayone Blog RSS Feed Ayone Blog » Architecting a Flex 4 component Comments Feed Ayone Blog We are back in the blogosphere, with a little extra Flex 4 Memory Optimizations Spring BlazeDS Integration on top of SpringSource dm &mdash; From the page [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Spring BlazeDS Integration on top of SpringSource dm Server &#124; Ayone Blog</title>
		<link>http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/comment-page-1/#comment-73</link>
		<dc:creator>Spring BlazeDS Integration on top of SpringSource dm Server &#124; Ayone Blog</dc:creator>
		<pubDate>Thu, 30 Jul 2009 11:56:29 +0000</pubDate>
		<guid isPermaLink="false">http://ayonesoftware.com/blog/?p=24#comment-73</guid>
		<description>[...] integration and other SpringSource technologies. As an example it is linked with the previous post Architecting a Flex 4 component, building the backend services for the contact [...]</description>
		<content:encoded><![CDATA[<p>[...] integration and other SpringSource technologies. As an example it is linked with the previous post Architecting a Flex 4 component, building the backend services for the contact [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Architecting a Flex 4 component &#124; Ayone Blog &#124; Adobe Tutorials</title>
		<link>http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/comment-page-1/#comment-16</link>
		<dc:creator>Architecting a Flex 4 component &#124; Ayone Blog &#124; Adobe Tutorials</dc:creator>
		<pubDate>Sat, 04 Jul 2009 04:30:16 +0000</pubDate>
		<guid isPermaLink="false">http://ayonesoftware.com/blog/?p=24#comment-16</guid>
		<description>[...] One of the biggest improvement in the new version of Flex SDK is the methodology by which you design and implement a component. If in Flex 3 you would probably mix skin mxml code with actionscript logic code, a Flex 4 component has 2 ... Read the rest here: Architecting a Flex 4 component &#124; Ayone Blog [...]</description>
		<content:encoded><![CDATA[<p>[...] One of the biggest improvement in the new version of Flex SDK is the methodology by which you design and implement a component. If in Flex 3 you would probably mix skin mxml code with actionscript logic code, a Flex 4 component has 2 &#8230; Read the rest here: Architecting a Flex 4 component | Ayone Blog [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Architecting a Flex 4 component &#124; Ayone Blog &#124; Adobe Tutorials</title>
		<link>http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/comment-page-1/#comment-15</link>
		<dc:creator>Architecting a Flex 4 component &#124; Ayone Blog &#124; Adobe Tutorials</dc:creator>
		<pubDate>Fri, 03 Jul 2009 10:59:21 +0000</pubDate>
		<guid isPermaLink="false">http://ayonesoftware.com/blog/?p=24#comment-15</guid>
		<description>[...] One of the biggest improvement in the new version of Flex SDK is the methodology by which you design and implement a component. If in Flex 3 you would probably mix skin mxml code with actionscript logic code, a Flex 4 component has 2 ... See the original post here: Architecting a Flex 4 component &#124; Ayone Blog [...]</description>
		<content:encoded><![CDATA[<p>[...] One of the biggest improvement in the new version of Flex SDK is the methodology by which you design and implement a component. If in Flex 3 you would probably mix skin mxml code with actionscript logic code, a Flex 4 component has 2 &#8230; See the original post here: Architecting a Flex 4 component | Ayone Blog [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adrian Aioanei</title>
		<link>http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/comment-page-1/#comment-9</link>
		<dc:creator>Adrian Aioanei</dc:creator>
		<pubDate>Mon, 29 Jun 2009 12:08:40 +0000</pubDate>
		<guid isPermaLink="false">http://ayonesoftware.com/blog/?p=24#comment-9</guid>
		<description>You are right Marty, the declarative code written when using constants would be the same but the state logic code would be simpler. Another situation to be taken in count is where you need to have the concept of sub-states. I encountered this in one of my projects where the component is in a state but needs to declare different behavior inside that state depending on some extra logic. But then mixing constants with bit wise operators to know in what state/sub-state will do the work properly. I&#039;ll check on this issue and come back with an update if new ideas come to life.

Adrian.</description>
		<content:encoded><![CDATA[<p>You are right Marty, the declarative code written when using constants would be the same but the state logic code would be simpler. Another situation to be taken in count is where you need to have the concept of sub-states. I encountered this in one of my projects where the component is in a state but needs to declare different behavior inside that state depending on some extra logic. But then mixing constants with bit wise operators to know in what state/sub-state will do the work properly. I&#8217;ll check on this issue and come back with an update if new ideas come to life.</p>
<p>Adrian.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Twitted by adobeInc</title>
		<link>http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/comment-page-1/#comment-8</link>
		<dc:creator>Twitted by adobeInc</dc:creator>
		<pubDate>Mon, 29 Jun 2009 11:35:03 +0000</pubDate>
		<guid isPermaLink="false">http://ayonesoftware.com/blog/?p=24#comment-8</guid>
		<description>[...] This post was Twitted by adobeInc [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was Twitted by adobeInc [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marty Pitt</title>
		<link>http://ayonesoftware.com/blog/2009/06/architecting-a-flex-4-component/comment-page-1/#comment-7</link>
		<dc:creator>Marty Pitt</dc:creator>
		<pubDate>Mon, 29 Jun 2009 11:24:57 +0000</pubDate>
		<guid isPermaLink="false">http://ayonesoftware.com/blog/?p=24#comment-7</guid>
		<description>Thanks for the interesting article.

One comment - I disagree with you on this point : 

&quot;Adding boolean properties for ruling out in what state the component should be is a good practice.&quot;

Using this approach it&#039;s possible (though not valid) for your component to have both inInput == true &amp; isFinal == true.

Instead, I&#039;d suggest that it&#039;s the job of the getCurrentSkinState() method to calculate the current state (without the use of external booleans).  If you did want to store the calculated value, you should use a single state var ( string / int ) and a set of constants to avoid multiple states being active.

You could always retain the isInput / isFinal, (to improve readibility) but write them as getters :

private function get isInput() : Boolean
{
   return getCurrentSkinState() == MySkinState.INPUT
}


Just my $0.02
That aside, I found the write up on states very informative.  Thanks!

Marty</description>
		<content:encoded><![CDATA[<p>Thanks for the interesting article.</p>
<p>One comment &#8211; I disagree with you on this point : </p>
<p>&#8220;Adding boolean properties for ruling out in what state the component should be is a good practice.&#8221;</p>
<p>Using this approach it&#8217;s possible (though not valid) for your component to have both inInput == true &amp; isFinal == true.</p>
<p>Instead, I&#8217;d suggest that it&#8217;s the job of the getCurrentSkinState() method to calculate the current state (without the use of external booleans).  If you did want to store the calculated value, you should use a single state var ( string / int ) and a set of constants to avoid multiple states being active.</p>
<p>You could always retain the isInput / isFinal, (to improve readibility) but write them as getters :</p>
<p>private function get isInput() : Boolean<br />
{<br />
   return getCurrentSkinState() == MySkinState.INPUT<br />
}</p>
<p>Just my $0.02<br />
That aside, I found the write up on states very informative.  Thanks!</p>
<p>Marty</p>
]]></content:encoded>
	</item>
</channel>
</rss>
