<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
	>
<channel>
	<title>Comments on: Design Pattern Principles for ActionScript 3.0: Single Responsibility Principle</title>
	<atom:link href="http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/</link>
	<description>OOP Techniques for Flash and Flex Developers</description>
	<lastBuildDate>Mon, 26 Jul 2010 13:40:37 -0700</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: William B. Sanders</title>
		<link>http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/comment-page-1/#comment-2350</link>
		<dc:creator>William B. Sanders</dc:creator>
		<pubDate>Sun, 17 May 2009 11:19:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=937#comment-2350</guid>
		<description>Hi Justin,

UMLs were developed as architectural tools for Object Oriented Design (OOD). Like a blueprint for building a house, a UML diagram is an aid and nothing more. The more detailed a UML, the easier it is to build a program because it tells you what goes where. So, a rudimentary UML is better than none at all. (The ones I sketch on the back of used daily calendar pages are definitely &lt;em&gt;rudimentary&lt;/em&gt;.)

You also brought up our old friend &lt;em&gt;perfection&lt;/em&gt; in reference to &lt;em&gt;flawless&lt;/em&gt; UMLs. Remember that seeking perfection is like going after the Holy Grail—an impossible and even foolhardy task because you&#039;ll never achieve it. On the other hand, &lt;em&gt;excellence&lt;/em&gt; is a process whereby you seek out improvement incrementally. The more you do it, the better you get at it. (That&#039;s why I&#039;m using discarded calendar pages instead of pulling brand new paper out of my laster printer! I need to get better at the process first.)

Working out an operation prior to encapsulating it is hardly a sin! However, encapsulating operations is the essence of OOP. Further, unit-testing is another essential step in building a real-world application, and so as a developer builds a program, he wants to make sure that all of the pieces (objects) are working prior to putting them all together. So it seems to me that you&#039;re involved in a type of unit-testing prior to encapsulation. In game development (as you well know) virtually all objects interact with other objects. As a result, you probably need to know which objects should be unit-tested with other objects and see if the objects work as expected &lt;em&gt;and&lt;/em&gt; interact as expected. To interact, they need some form of encapsulation so that they are tested as objects and not solely as operations. Your technique seems to involve an extra step, but there&#039;s nothing wrong with that. As you get better, you won&#039;t have to work as hard!

Kindest regards,
Bill</description>
		<content:encoded><![CDATA[<p>Hi Justin,</p>
<p>UMLs were developed as architectural tools for Object Oriented Design (OOD). Like a blueprint for building a house, a UML diagram is an aid and nothing more. The more detailed a UML, the easier it is to build a program because it tells you what goes where. So, a rudimentary UML is better than none at all. (The ones I sketch on the back of used daily calendar pages are definitely <em>rudimentary</em>.)</p>
<p>You also brought up our old friend <em>perfection</em> in reference to <em>flawless</em> UMLs. Remember that seeking perfection is like going after the Holy Grail—an impossible and even foolhardy task because you&#8217;ll never achieve it. On the other hand, <em>excellence</em> is a process whereby you seek out improvement incrementally. The more you do it, the better you get at it. (That&#8217;s why I&#8217;m using discarded calendar pages instead of pulling brand new paper out of my laster printer! I need to get better at the process first.)</p>
<p>Working out an operation prior to encapsulating it is hardly a sin! However, encapsulating operations is the essence of OOP. Further, unit-testing is another essential step in building a real-world application, and so as a developer builds a program, he wants to make sure that all of the pieces (objects) are working prior to putting them all together. So it seems to me that you&#8217;re involved in a type of unit-testing prior to encapsulation. In game development (as you well know) virtually all objects interact with other objects. As a result, you probably need to know which objects should be unit-tested with other objects and see if the objects work as expected <em>and</em> interact as expected. To interact, they need some form of encapsulation so that they are tested as objects and not solely as operations. Your technique seems to involve an extra step, but there&#8217;s nothing wrong with that. As you get better, you won&#8217;t have to work as hard!</p>
<p>Kindest regards,<br />
Bill</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Justin</title>
		<link>http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/comment-page-1/#comment-2348</link>
		<dc:creator>Justin</dc:creator>
		<pubDate>Sun, 17 May 2009 06:48:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=937#comment-2348</guid>
		<description>I&#039;d just like to add that quite often I don&#039;t completely encapsulate from the get go, but often clean up my code.
For example when writing a flash game I may add the code for something, get it working, and then go back and clean it up before I move onto the next feature.

I personally don&#039;t think many people out there can code in such an encapsulated manor straight off the bat. It would require a very seasoned coder who can churn out flawless UML.</description>
		<content:encoded><![CDATA[<p>I&#8217;d just like to add that quite often I don&#8217;t completely encapsulate from the get go, but often clean up my code.<br />
For example when writing a flash game I may add the code for something, get it working, and then go back and clean it up before I move onto the next feature.</p>
<p>I personally don&#8217;t think many people out there can code in such an encapsulated manor straight off the bat. It would require a very seasoned coder who can churn out flawless UML.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William B. Sanders</title>
		<link>http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/comment-page-1/#comment-2332</link>
		<dc:creator>William B. Sanders</dc:creator>
		<pubDate>Tue, 12 May 2009 19:00:37 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=937#comment-2332</guid>
		<description>Hi Ramon,

Remember to separate what varies from what stays the same and &lt;em&gt;encapsulate what varies&lt;/em&gt;.

Take care,
Bill</description>
		<content:encoded><![CDATA[<p>Hi Ramon,</p>
<p>Remember to separate what varies from what stays the same and <em>encapsulate what varies</em>.</p>
<p>Take care,<br />
Bill</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ramon Fritsch</title>
		<link>http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/comment-page-1/#comment-2331</link>
		<dc:creator>Ramon Fritsch</dc:creator>
		<pubDate>Tue, 12 May 2009 17:23:04 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=937#comment-2331</guid>
		<description>Hello,

very great to encapsule the code, or change it after.</description>
		<content:encoded><![CDATA[<p>Hello,</p>
<p>very great to encapsule the code, or change it after.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William B. Sanders</title>
		<link>http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/comment-page-1/#comment-2330</link>
		<dc:creator>William B. Sanders</dc:creator>
		<pubDate>Tue, 12 May 2009 15:23:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=937#comment-2330</guid>
		<description>Hey Jonathan,

It just went up this morning; so it&#039;ll take a while for folks on this list to respond. So many people just develop with a single giant class because that&#039;s what they&#039;re used to and it feels safe. I hope that little by little people try programming with some of these principles--they really do work! When I was developing examples for this post, it was super easy to make changes.

As an alternative to either a Flowchart or a Class Diagram, maybe a &quot;Responsibility Chart&quot; would be the way to develop!

Kindest regards,
Bill</description>
		<content:encoded><![CDATA[<p>Hey Jonathan,</p>
<p>It just went up this morning; so it&#8217;ll take a while for folks on this list to respond. So many people just develop with a single giant class because that&#8217;s what they&#8217;re used to and it feels safe. I hope that little by little people try programming with some of these principles&#8211;they really do work! When I was developing examples for this post, it was super easy to make changes.</p>
<p>As an alternative to either a Flowchart or a Class Diagram, maybe a &#8220;Responsibility Chart&#8221; would be the way to develop!</p>
<p>Kindest regards,<br />
Bill</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonathan @ jadbox.com</title>
		<link>http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/comment-page-1/#comment-2329</link>
		<dc:creator>Jonathan @ jadbox.com</dc:creator>
		<pubDate>Tue, 12 May 2009 14:50:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=937#comment-2329</guid>
		<description>Seriously, no comments yet? I found this article fantastic as it&#039;s a principle that I preach about anytime I have an excuse to. All too often, Flash developers wrap way too much functionality and responsibility into a single class that&#039;s hundreds of lines long. Building projects in a modular way under the single responsibility principle can totally save a project from ramping into unmanageable complexity.</description>
		<content:encoded><![CDATA[<p>Seriously, no comments yet? I found this article fantastic as it&#8217;s a principle that I preach about anytime I have an excuse to. All too often, Flash developers wrap way too much functionality and responsibility into a single class that&#8217;s hundreds of lines long. Building projects in a modular way under the single responsibility principle can totally save a project from ramping into unmanageable complexity.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Design Pattern Principles for ActionScript 3.0: Single Responsibility Principle &#124; Lively Flash Tuts</title>
		<link>http://www.as3dp.com/2009/05/12/design-pattern-principles-for-actionscript-30-single-responsibility-principle/comment-page-1/#comment-2328</link>
		<dc:creator>Design Pattern Principles for ActionScript 3.0: Single Responsibility Principle &#124; Lively Flash Tuts</dc:creator>
		<pubDate>Tue, 12 May 2009 13:30:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=937#comment-2328</guid>
		<description>[...] Visit Article [...]</description>
		<content:encoded><![CDATA[<p>[...] Visit Article [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
