<?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: Making the world better via refactoring &#8211; Intro</title>
	<atom:link href="http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/feed/" rel="self" type="application/rss+xml" />
	<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/</link>
	<description>music, technology, interfaces</description>
	<lastBuildDate>Sun, 29 Jan 2012 05:22:45 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
	<item>
		<title>By: ARTICLES ON FLEX &#171; Adiflex&#8217;s Blog</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-228534</link>
		<dc:creator>ARTICLES ON FLEX &#171; Adiflex&#8217;s Blog</dc:creator>
		<pubDate>Sat, 25 Oct 2008 11:10:01 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-228534</guid>
		<description>[...] View Helper An architectural blueprint for Flex applications Advanced ActionScript Refactoring :: Intro :: Step 1 :: Step 2 :: Step 3 MVC Considered Harmful :: Great discussion in [...]</description>
		<content:encoded><![CDATA[<p>[...] View Helper An architectural blueprint for Flex applications Advanced ActionScript Refactoring :: Intro :: Step 1 :: Step 2 :: Step 3 MVC Considered Harmful :: Great discussion in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Articles_on_FLEX &#171; welcome nandhu</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-228066</link>
		<dc:creator>Articles_on_FLEX &#171; welcome nandhu</dc:creator>
		<pubDate>Thu, 23 Oct 2008 03:46:46 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-228066</guid>
		<description>[...] ActionScript Refactoring ::  Intro ::  Step 1 ::  Step 2 ::  Step [...]</description>
		<content:encoded><![CDATA[<p>[...] ActionScript Refactoring ::  Intro ::  Step 1 ::  Step 2 ::  Step [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Articles on FLEX &#171; welcome nandhu</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-225308</link>
		<dc:creator>Articles on FLEX &#171; welcome nandhu</dc:creator>
		<pubDate>Sat, 04 Oct 2008 08:35:32 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-225308</guid>
		<description>[...] ActionScript Refactoring :: Intro :: Step 1 :: Step 2 :: Step [...]</description>
		<content:encoded><![CDATA[<p>[...] ActionScript Refactoring :: Intro :: Step 1 :: Step 2 :: Step [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ARTICLES ON FLEX &#171; Panduramesh&#8217;s Weblog</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-223844</link>
		<dc:creator>ARTICLES ON FLEX &#171; Panduramesh&#8217;s Weblog</dc:creator>
		<pubDate>Fri, 19 Sep 2008 12:16:42 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-223844</guid>
		<description>[...] View Helper An architectural blueprint for Flex applications Advanced ActionScript Refactoring :: Intro :: Step 1 :: Step 2 :: Step 3 MVC Considered Harmful :: Great discussion in [...]</description>
		<content:encoded><![CDATA[<p>[...] View Helper An architectural blueprint for Flex applications Advanced ActionScript Refactoring :: Intro :: Step 1 :: Step 2 :: Step 3 MVC Considered Harmful :: Great discussion in [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: articles &#171; Panduramesh&#8217;s Weblog</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-222880</link>
		<dc:creator>articles &#171; Panduramesh&#8217;s Weblog</dc:creator>
		<pubDate>Thu, 11 Sep 2008 12:53:19 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-222880</guid>
		<description>[...] ActionScript Refactoring :: Intro :: Step 1 :: Step 2 :: Step [...]</description>
		<content:encoded><![CDATA[<p>[...] ActionScript Refactoring :: Intro :: Step 1 :: Step 2 :: Step [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: 小薛部落格 &#187; Blog Archive &#187; [翻譯]重構讓世界更美好(Making the world better via refactoring - Intro)</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-118428</link>
		<dc:creator>小薛部落格 &#187; Blog Archive &#187; [翻譯]重構讓世界更美好(Making the world better via refactoring - Intro)</dc:creator>
		<pubDate>Tue, 22 Jan 2008 10:52:31 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-118428</guid>
		<description>[...] [翻譯]重構讓世界更美好(Making the world better via refactoring - Intro)  這些文章翻譯自Sho Kuwamoto的ActionScript Refactoring 三部曲，經過原作者同意翻譯之。 本文原文連結在此。 [...]</description>
		<content:encoded><![CDATA[<p>[...] [翻譯]重構讓世界更美好(Making the world better via refactoring &#8211; Intro)  這些文章翻譯自Sho Kuwamoto的ActionScript Refactoring 三部曲，經過原作者同意翻譯之。 本文原文連結在此。 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Posta kodu</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-46916</link>
		<dc:creator>Posta kodu</dc:creator>
		<pubDate>Mon, 06 Aug 2007 21:05:51 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-46916</guid>
		<description>It&#039;s very useful component especially for flash based e-commerce sites. Thanks.</description>
		<content:encoded><![CDATA[<p>It&#8217;s very useful component especially for flash based e-commerce sites. Thanks.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Refactoring or &#8220;making world better&#8221; &#124;</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-39118</link>
		<dc:creator>Refactoring or &#8220;making world better&#8221; &#124;</dc:creator>
		<pubDate>Wed, 11 Jul 2007 06:37:31 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-39118</guid>
		<description>[...] Making the world better via refactoring - Intro [...]</description>
		<content:encoded><![CDATA[<p>[...] Making the world better via refactoring &#8211; Intro [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: jwopitz</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-25632</link>
		<dc:creator>jwopitz</dc:creator>
		<pubDate>Fri, 18 May 2007 14:04:41 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-25632</guid>
		<description>Sammy, I would not go so far as to say that someone should favor composition over inheritance as a general rule of thumb.  Both have their advantages and disadvantages.  

Of course container type classes, by their very nature, would probably favor composition (as Sho has stated in the 5th comment).  Not alway true with control type classes.  There is more than on way to skin a cat...  And here is why:

Due to copious use of private and mx_internal APIs, accessing many aspects of a child component (i.e. composition) becomes nearly impossible.  Obviously private properties and methods we can do nothing about, but some might say to go ahead and access the mx_internal aspects.  I have done so, but Adobe even says, &quot;This namespace is used for undocumented APIs — usually implementation details — which can’t be private because they need to visible to other classes. APIs in this namespace are completely unsupported and are likely to change in future versions of Flex.&quot;.

Until Adobe starts making more of the private APIs more accessible by utilizing the other namespaces AND/OR solidifies their stance on future support for the mx_internal namespace, I am not going to write inheritance off just yet.</description>
		<content:encoded><![CDATA[<p>Sammy, I would not go so far as to say that someone should favor composition over inheritance as a general rule of thumb.  Both have their advantages and disadvantages.  </p>
<p>Of course container type classes, by their very nature, would probably favor composition (as Sho has stated in the 5th comment).  Not alway true with control type classes.  There is more than on way to skin a cat&#8230;  And here is why:</p>
<p>Due to copious use of private and mx_internal APIs, accessing many aspects of a child component (i.e. composition) becomes nearly impossible.  Obviously private properties and methods we can do nothing about, but some might say to go ahead and access the mx_internal aspects.  I have done so, but Adobe even says, &#8220;This namespace is used for undocumented APIs — usually implementation details — which can’t be private because they need to visible to other classes. APIs in this namespace are completely unsupported and are likely to change in future versions of Flex.&#8221;.</p>
<p>Until Adobe starts making more of the private APIs more accessible by utilizing the other namespaces AND/OR solidifies their stance on future support for the mx_internal namespace, I am not going to write inheritance off just yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sho</title>
		<link>http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/comment-page-1/#comment-25463</link>
		<dc:creator>sho</dc:creator>
		<pubDate>Thu, 17 May 2007 17:22:39 +0000</pubDate>
		<guid isPermaLink="false">http://kuwamoto.org/2007/05/15/making-the-world-better-via-refactoring-intro/#comment-25463</guid>
		<description>I think I probably tipped the discussion toward composition in the words that I chose to describe the problem. Even picking a class name like FlexibleContainer in that first diagram probably colored the discussion.

I think that inheritance is a viable strategy here depending on your needs. Imagine that I had an inheritance hierarchy that looked like this:

&lt;div class=&quot;figure&quot;&gt;&lt;img src=&quot;http://examples.kuwamoto.org/DragTile/DragTileInherit2.png&quot;/&gt;&lt;/div&gt;

I don&#039;t think there&#039;s anything wrong with that, per se. I do, of course agree with you that composition is a better choice here, which is why I went down that path!</description>
		<content:encoded><![CDATA[<p>I think I probably tipped the discussion toward composition in the words that I chose to describe the problem. Even picking a class name like FlexibleContainer in that first diagram probably colored the discussion.</p>
<p>I think that inheritance is a viable strategy here depending on your needs. Imagine that I had an inheritance hierarchy that looked like this:</p>
<div class="figure"><img src="http://examples.kuwamoto.org/DragTile/DragTileInherit2.png"/></div>
<p>I don&#8217;t think there&#8217;s anything wrong with that, per se. I do, of course agree with you that composition is a better choice here, which is why I went down that path!</p>
]]></content:encoded>
	</item>
</channel>
</rss>

