<?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: OOP &amp; Designs Pattern Principles: Ready for Work</title>
	<atom:link href="http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/</link>
	<description>OOP Techniques for Flash and Flex Developers</description>
	<lastBuildDate>Wed, 10 Mar 2010 17:32:01 -0800</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/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-3681</link>
		<dc:creator>William B. Sanders</dc:creator>
		<pubDate>Sun, 13 Dec 2009 19:39:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-3681</guid>
		<description>Hi Mark,

I totally agree with you. If you wait around for a really big application to drop in your lap, it may be too late. Practice, practice, practice is the key to getting design patterns. It may seem like using an elephant gun to swat a fly, but if you can handle a little application, the big ones are just more of the same kind of thinking.

Currently, I&#039;m working on an application re-using a Factory Method for a data provider. I&#039;m thinking, why not build a button factory?

I&#039;ve written several Video players using a State design pattern, but I like to try different things; so in addition to a State design, I might try something else, just to keep sharp.

Thanks for you wise comment,
Bill</description>
		<content:encoded><![CDATA[<p>Hi Mark,</p>
<p>I totally agree with you. If you wait around for a really big application to drop in your lap, it may be too late. Practice, practice, practice is the key to getting design patterns. It may seem like using an elephant gun to swat a fly, but if you can handle a little application, the big ones are just more of the same kind of thinking.</p>
<p>Currently, I&#8217;m working on an application re-using a Factory Method for a data provider. I&#8217;m thinking, why not build a button factory?</p>
<p>I&#8217;ve written several Video players using a State design pattern, but I like to try different things; so in addition to a State design, I might try something else, just to keep sharp.</p>
<p>Thanks for you wise comment,<br />
Bill</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark A.</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-3680</link>
		<dc:creator>Mark A.</dc:creator>
		<pubDate>Sun, 13 Dec 2009 19:29:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-3680</guid>
		<description>Ît&#039;s really strange. When you begin with design pattern and you are already interested in them you feel you are doing the right thing - but you do not see the advantage right away. You start using them in different situations, face moments where you have gone to far and what I am concerned I sometimes think it&#039;s more practical for the &quot;more advanced&quot; coders in high level languages like C++ or java. Mainly because programs in these languages are more complex and just &quot;bigger&quot; causing that things like pattern matter.

When you advance in pattern (meaning you start to think about them right from the start when an architectural problem arises) you start to feel better because you now have some experience in your pocket about earlier projects where these pattern saved you time.

I do think that flash coders (the most of them) had not been involved in bigger projects which required architectural thinking and if they do not start with pattern from a personal interest they will not see the advantage. That&#039;s why (including me) they lake of real world examples (whatever that means for them) and find it hard to abstract from &quot;hello world&quot; examples. 

The purpose of my writing is that I do not think that real world examples do help anyone better than abstract ones without experimenting with pattern on your own. It really needs time until you &quot;feel&quot; the advantage.

Everyone says &quot;do not use pattern just to have them used&quot;. I claim: Thats bullshit (for beginners). I say: Use pattern where ever you can if you want to advance using them. How should a flash coder get it&#039;s experience when he is not a lucky one being involved in application development using actionscript?

I even used pattern in a screensaver I had to build recently. I built a chain of responsibility to handle different events based on the current date. I could have build it in a different way without so much classes and it would have been easier for non pattern related persons, but I wanted to use them to see the advantage or disadvantage at the end.

My personal advice: Do so, if you start using pattern. The old rule of &quot;getting your hands dirty&quot;.</description>
		<content:encoded><![CDATA[<p>Ît&#8217;s really strange. When you begin with design pattern and you are already interested in them you feel you are doing the right thing &#8211; but you do not see the advantage right away. You start using them in different situations, face moments where you have gone to far and what I am concerned I sometimes think it&#8217;s more practical for the &#8220;more advanced&#8221; coders in high level languages like C++ or java. Mainly because programs in these languages are more complex and just &#8220;bigger&#8221; causing that things like pattern matter.</p>
<p>When you advance in pattern (meaning you start to think about them right from the start when an architectural problem arises) you start to feel better because you now have some experience in your pocket about earlier projects where these pattern saved you time.</p>
<p>I do think that flash coders (the most of them) had not been involved in bigger projects which required architectural thinking and if they do not start with pattern from a personal interest they will not see the advantage. That&#8217;s why (including me) they lake of real world examples (whatever that means for them) and find it hard to abstract from &#8220;hello world&#8221; examples. </p>
<p>The purpose of my writing is that I do not think that real world examples do help anyone better than abstract ones without experimenting with pattern on your own. It really needs time until you &#8220;feel&#8221; the advantage.</p>
<p>Everyone says &#8220;do not use pattern just to have them used&#8221;. I claim: Thats bullshit (for beginners). I say: Use pattern where ever you can if you want to advance using them. How should a flash coder get it&#8217;s experience when he is not a lucky one being involved in application development using actionscript?</p>
<p>I even used pattern in a screensaver I had to build recently. I built a chain of responsibility to handle different events based on the current date. I could have build it in a different way without so much classes and it would have been easier for non pattern related persons, but I wanted to use them to see the advantage or disadvantage at the end.</p>
<p>My personal advice: Do so, if you start using pattern. The old rule of &#8220;getting your hands dirty&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Clark</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-3660</link>
		<dc:creator>Peter Clark</dc:creator>
		<pubDate>Fri, 11 Dec 2009 13:08:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-3660</guid>
		<description>Hi Bill,

Wow! thanks, I&#039;ll review these and get back to you in ... a few weeks?

Peter</description>
		<content:encoded><![CDATA[<p>Hi Bill,</p>
<p>Wow! thanks, I&#8217;ll review these and get back to you in &#8230; a few weeks?</p>
<p>Peter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William B. Sanders</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-3658</link>
		<dc:creator>William B. Sanders</dc:creator>
		<pubDate>Fri, 11 Dec 2009 12:15:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-3658</guid>
		<description>Hi Peter,

For the scientifically objective research articles here&#039;s a good place to start--a 1998 article on using design patterns:

http://portal.acm.org/citation.cfm?id=286942.286952

The Association for Computing Machinery (ACM) is the granddaddy of computer organizations and the ACM Special Interest Group on Programming Languages (SIGPLAN) is the SIG where design patterns got their grip in a series of papers prior to the publication of GoF&#039;s book.

Here&#039;s another paper from the same source that looks at an evaluation of design patterns:

http://portal.acm.org/citation.cfm?id=227747

You can get student [let&#039;s face it, we&#039;re all students of programming] membership in ACM for about $19 for a year and have access to a huge number articles (many dry as the sands of the Sahara), but they&#039;re what I think you want. Also you have access to 600 online books from Safari and another 500 books from Books24X7.

Here&#039;s another one that should answer lots of questions and lead to other articles:

http://www.cse.wustl.edu/~schmidt/CACM-editorial.html

You can get it without being an ACM member.

Here are some others freely available as well:

http://www.developer.com/design/article.php/1474561/What-Are-Design-Patterns-and-Do-I-Need-Them.htm

http://www.artima.com/lejava/articles/reuse.html

http://www.javaworld.com/javaworld/jw-10-2001/jw-1012-designpatterns.html?page=1

Years ago when I used to fly, I saw one pilot with a T-shirt announcing, &lt;blockquote&gt;If you ain&#039;t a pilot, you ain&#039;t s**t!&lt;/blockquote&gt; Pilots, like physicians and others who have a high occupational opinions of their abilities, often do more damage to themselves than good by such arrogant proclamations. Most of the good OOP and design pattern programmers I&#039;ve met are &lt;em&gt;not&lt;/em&gt; that way. In fact, they seem to be far more receptive to new ideas and programming strategies than programmers possessing far less skill and experience.

In getting other programmers and management to adopt design patterns, I think that &quot;nudge&quot; is a better way than &quot;push.&quot; The way to nudge is through demonstration. Even if only a part of a program uses a design pattern, its benefits become apparent when time comes to change. The Lunch Bucket series provides a series of nudges.

Kindest regards,
Bill</description>
		<content:encoded><![CDATA[<p>Hi Peter,</p>
<p>For the scientifically objective research articles here&#8217;s a good place to start&#8211;a 1998 article on using design patterns:</p>
<p><a href="http://portal.acm.org/citation.cfm?id=286942.286952" rel="nofollow">http://portal.acm.org/citation.cfm?id=286942.286952</a></p>
<p>The Association for Computing Machinery (ACM) is the granddaddy of computer organizations and the ACM Special Interest Group on Programming Languages (SIGPLAN) is the SIG where design patterns got their grip in a series of papers prior to the publication of GoF&#8217;s book.</p>
<p>Here&#8217;s another paper from the same source that looks at an evaluation of design patterns:</p>
<p><a href="http://portal.acm.org/citation.cfm?id=227747" rel="nofollow">http://portal.acm.org/citation.cfm?id=227747</a></p>
<p>You can get student [let's face it, we're all students of programming] membership in ACM for about $19 for a year and have access to a huge number articles (many dry as the sands of the Sahara), but they&#8217;re what I think you want. Also you have access to 600 online books from Safari and another 500 books from Books24X7.</p>
<p>Here&#8217;s another one that should answer lots of questions and lead to other articles:</p>
<p><a href="http://www.cse.wustl.edu/~schmidt/CACM-editorial.html" rel="nofollow">http://www.cse.wustl.edu/~schmidt/CACM-editorial.html</a></p>
<p>You can get it without being an ACM member.</p>
<p>Here are some others freely available as well:</p>
<p><a href="http://www.developer.com/design/article.php/1474561/What-Are-Design-Patterns-and-Do-I-Need-Them.htm" rel="nofollow">http://www.developer.com/design/article.php/1474561/What-Are-Design-Patterns-and-Do-I-Need-Them.htm</a></p>
<p><a href="http://www.artima.com/lejava/articles/reuse.html" rel="nofollow">http://www.artima.com/lejava/articles/reuse.html</a></p>
<p><a href="http://www.javaworld.com/javaworld/jw-10-2001/jw-1012-designpatterns.html?page=1" rel="nofollow">http://www.javaworld.com/javaworld/jw-10-2001/jw-1012-designpatterns.html?page=1</a></p>
<p>Years ago when I used to fly, I saw one pilot with a T-shirt announcing,<br />
<blockquote>If you ain&#8217;t a pilot, you ain&#8217;t s**t!</p></blockquote>
<p> Pilots, like physicians and others who have a high occupational opinions of their abilities, often do more damage to themselves than good by such arrogant proclamations. Most of the good OOP and design pattern programmers I&#8217;ve met are <em>not</em> that way. In fact, they seem to be far more receptive to new ideas and programming strategies than programmers possessing far less skill and experience.</p>
<p>In getting other programmers and management to adopt design patterns, I think that &#8220;nudge&#8221; is a better way than &#8220;push.&#8221; The way to nudge is through demonstration. Even if only a part of a program uses a design pattern, its benefits become apparent when time comes to change. The Lunch Bucket series provides a series of nudges.</p>
<p>Kindest regards,<br />
Bill</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Clark</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-3657</link>
		<dc:creator>Peter Clark</dc:creator>
		<pubDate>Fri, 11 Dec 2009 09:24:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-3657</guid>
		<description>Hi Bill, 

Many thanks for that comprehensive response. 
I do appreciate the irony in me asking you to recommend an OOP website! But this excellent site of yours is not particularly appropriate for my problem - it assumes interest or at least open mindedness.

I have now discovered your &#039;the three keys of good design&#039;:

http://www.as3dp.com/2009/04/02/is-your-actionscript-30-design-good-the-three-keys-of-good-design/

That is very good and helpful for me personally and who knows, it may hit the right spot with some colleagues.

I suppose I am looking for a discussion, in some form or other, of the good reasons for thinking of things in an OOP way, that will have some clout - research papers or something of the sort, reporting objective measurement of time saved, clients pleased, annual balances UP!

Thanks again, I hope to stick around here and learn lots.

Peter</description>
		<content:encoded><![CDATA[<p>Hi Bill, </p>
<p>Many thanks for that comprehensive response.<br />
I do appreciate the irony in me asking you to recommend an OOP website! But this excellent site of yours is not particularly appropriate for my problem &#8211; it assumes interest or at least open mindedness.</p>
<p>I have now discovered your &#8216;the three keys of good design&#8217;:</p>
<p><a href="http://www.as3dp.com/2009/04/02/is-your-actionscript-30-design-good-the-three-keys-of-good-design/" rel="nofollow">http://www.as3dp.com/2009/04/02/is-your-actionscript-30-design-good-the-three-keys-of-good-design/</a></p>
<p>That is very good and helpful for me personally and who knows, it may hit the right spot with some colleagues.</p>
<p>I suppose I am looking for a discussion, in some form or other, of the good reasons for thinking of things in an OOP way, that will have some clout &#8211; research papers or something of the sort, reporting objective measurement of time saved, clients pleased, annual balances UP!</p>
<p>Thanks again, I hope to stick around here and learn lots.</p>
<p>Peter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William B. Sanders</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-3651</link>
		<dc:creator>William B. Sanders</dc:creator>
		<pubDate>Thu, 10 Dec 2009 19:33:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-3651</guid>
		<description>Hi Peter,

That statement I made about the development of Design Patterns is based on what I&#039;ve picked up at OOPSLA meetings and reading this that and the other thing. The management at IBM Research had a hand in it because they had so much experience in dealing with the cost of development and changes in software. As IBM moved into a &#039;service company&#039; mode a lot of that &#039;service&#039; was upgrading software, and to help keep costs down and quality up, they were very supportive of design patterns and hired Gamma right out of graduate school (if not before).

Grady Booch, Chief Scientist, Rational Software Corporation (who wrote the Foreword to &lt;em&gt;Design Patterns&lt;/em&gt;) noted in introducing the book: &lt;blockquote&gt; First, it shows the role that patterns can play in architecting complex systems. Second, it provides a very pragmatic reference to a set of well-engineered patterns....&lt;/blockquote&gt; That&#039;s not exactly a &quot;sexy&quot; sell, but it should be to anyone who really thinks about what goes on in software development. If you look at the great majority of commercial Web sites, they are temporary. New things get added and changed all the time. The more complex the sites, the more they need design patterns of some sort to manage change in complexity. When you start adding programming like ActionScript 3.0, Java, C# or just about any other programming language used on the Internet, the complexity is exponential.

Like you, Chandima and I may wonder why that&#039;s such a hard sell. Even among some OOP veterans, you&#039;ll find the attitude &quot;What&#039;s the big deal?&quot; Well, consider Global Warming (or the watered down politically correct, &lt;em&gt;Climate Change&lt;/em&gt;). There&#039;s plenty of scientific evidence (not to mention the clearly melting polar ice cap) that indicates global warming on a scale not seen before in recorded history. It&#039;s easier to believe otherwise. Then we won&#039;t have to change our behavior. However, when places like the Maldives (highest point 7.8 feet [2.4 meters]) cease to exist because of rising water, no amount of &#039;I told you so&#039; is going to help, and the 330,000 folks on the Maldives are going to have to re-locate. It may take 100 years,  and so there&#039;s no sense of urgency. (Or news footage of folks being gobbled up by the sea.)

With design patterns, &lt;em&gt;you have to change your behavior&lt;/em&gt;. Rather than writing decent algorithms in an OOP context, you have to first architect your programs in a set of relationships that are a bit complex. Also, there&#039;s the fact that &lt;em&gt;bad software design does work&lt;/em&gt;. In the same way that sequential programming still works today as well as it did when it was introduced in the 1950&#039;s, both procedural, and OOP programming without design patterns works just fine.

Lots of software exists on bad architecture. You can even update software on bad architecture, and while it may look like a Rube Goldberg creation, &lt;em&gt;it still works&lt;/em&gt;. The problem with bad architecture is that it is more difficult to update, but it is easier to create in the first place. As a result, management and programmers can keep on doing the same old crap, and it still works.

The great irony is that a cogent argument can be made against Design Patterns—namely that &lt;em&gt;change costs money&lt;/em&gt;. If programmers are going to start using design patterns, the initial design costs are going to be greater than doing it &quot;the old way.&quot; Obviously, such arguments are flawed because on the backend of the deal, they&#039;ll be saving far more &lt;em&gt;time and money&lt;/em&gt; with design patterns because the design is open to change and code re-use.

Rather than arguing with other programmers or management, it&#039;s better to demonstrate it. If I build something using a design pattern, I just do it. Then when it comes time to change or update, I can do it in a jiffy. The whole point of the &quot;Lunch Bucket&quot; series is to take a design pattern to work. It&#039;s not like you&#039;re sneaking a virus in, and good architecture never hurt anyone. (The dual-Factory Method used for the Design Pattern Catalog I did, paid off big time when I added the Structural designs.) 

Anyway, Peter, don&#039;t fret. Design patterns aren&#039;t going anywhere. Just tell your management that you hope your company&#039;s competitors don&#039;t adopt them first.

Kindest regards,
Bill</description>
		<content:encoded><![CDATA[<p>Hi Peter,</p>
<p>That statement I made about the development of Design Patterns is based on what I&#8217;ve picked up at OOPSLA meetings and reading this that and the other thing. The management at IBM Research had a hand in it because they had so much experience in dealing with the cost of development and changes in software. As IBM moved into a &#8217;service company&#8217; mode a lot of that &#8217;service&#8217; was upgrading software, and to help keep costs down and quality up, they were very supportive of design patterns and hired Gamma right out of graduate school (if not before).</p>
<p>Grady Booch, Chief Scientist, Rational Software Corporation (who wrote the Foreword to <em>Design Patterns</em>) noted in introducing the book:<br />
<blockquote> First, it shows the role that patterns can play in architecting complex systems. Second, it provides a very pragmatic reference to a set of well-engineered patterns&#8230;.</p></blockquote>
<p> That&#8217;s not exactly a &#8220;sexy&#8221; sell, but it should be to anyone who really thinks about what goes on in software development. If you look at the great majority of commercial Web sites, they are temporary. New things get added and changed all the time. The more complex the sites, the more they need design patterns of some sort to manage change in complexity. When you start adding programming like ActionScript 3.0, Java, C# or just about any other programming language used on the Internet, the complexity is exponential.</p>
<p>Like you, Chandima and I may wonder why that&#8217;s such a hard sell. Even among some OOP veterans, you&#8217;ll find the attitude &#8220;What&#8217;s the big deal?&#8221; Well, consider Global Warming (or the watered down politically correct, <em>Climate Change</em>). There&#8217;s plenty of scientific evidence (not to mention the clearly melting polar ice cap) that indicates global warming on a scale not seen before in recorded history. It&#8217;s easier to believe otherwise. Then we won&#8217;t have to change our behavior. However, when places like the Maldives (highest point 7.8 feet [2.4 meters]) cease to exist because of rising water, no amount of &#8216;I told you so&#8217; is going to help, and the 330,000 folks on the Maldives are going to have to re-locate. It may take 100 years,  and so there&#8217;s no sense of urgency. (Or news footage of folks being gobbled up by the sea.)</p>
<p>With design patterns, <em>you have to change your behavior</em>. Rather than writing decent algorithms in an OOP context, you have to first architect your programs in a set of relationships that are a bit complex. Also, there&#8217;s the fact that <em>bad software design does work</em>. In the same way that sequential programming still works today as well as it did when it was introduced in the 1950&#8217;s, both procedural, and OOP programming without design patterns works just fine.</p>
<p>Lots of software exists on bad architecture. You can even update software on bad architecture, and while it may look like a Rube Goldberg creation, <em>it still works</em>. The problem with bad architecture is that it is more difficult to update, but it is easier to create in the first place. As a result, management and programmers can keep on doing the same old crap, and it still works.</p>
<p>The great irony is that a cogent argument can be made against Design Patterns—namely that <em>change costs money</em>. If programmers are going to start using design patterns, the initial design costs are going to be greater than doing it &#8220;the old way.&#8221; Obviously, such arguments are flawed because on the backend of the deal, they&#8217;ll be saving far more <em>time and money</em> with design patterns because the design is open to change and code re-use.</p>
<p>Rather than arguing with other programmers or management, it&#8217;s better to demonstrate it. If I build something using a design pattern, I just do it. Then when it comes time to change or update, I can do it in a jiffy. The whole point of the &#8220;Lunch Bucket&#8221; series is to take a design pattern to work. It&#8217;s not like you&#8217;re sneaking a virus in, and good architecture never hurt anyone. (The dual-Factory Method used for the Design Pattern Catalog I did, paid off big time when I added the Structural designs.) </p>
<p>Anyway, Peter, don&#8217;t fret. Design patterns aren&#8217;t going anywhere. Just tell your management that you hope your company&#8217;s competitors don&#8217;t adopt them first.</p>
<p>Kindest regards,<br />
Bill</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Peter Clark</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-3643</link>
		<dc:creator>Peter Clark</dc:creator>
		<pubDate>Thu, 10 Dec 2009 13:00:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-3643</guid>
		<description>&#039;So smart management and smart developers got together and came up with principles to make code easier to re-use and update without having to chase down bugs. Others came up with designs that enforced the principles—-what we know as Design Patterns.&#039;

Hi Bill,

Thanks for your great book and blog. I have lot of trouble where I work convincing anyone, management or otherwise, of the truth of the above comment. Do you have any references to web or book or anything that explores this, simply or otherwise?

many thanks again,

Peter</description>
		<content:encoded><![CDATA[<p>&#8216;So smart management and smart developers got together and came up with principles to make code easier to re-use and update without having to chase down bugs. Others came up with designs that enforced the principles—-what we know as Design Patterns.&#8217;</p>
<p>Hi Bill,</p>
<p>Thanks for your great book and blog. I have lot of trouble where I work convincing anyone, management or otherwise, of the truth of the above comment. Do you have any references to web or book or anything that explores this, simply or otherwise?</p>
<p>many thanks again,</p>
<p>Peter</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: William B. Sanders</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-1748</link>
		<dc:creator>William B. Sanders</dc:creator>
		<pubDate>Fri, 06 Mar 2009 14:25:12 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-1748</guid>
		<description>Hi Bob,

First of all, you might want to get the &lt;strong&gt;Head First Design Pattern poster&lt;/strong&gt; (http://oreilly.com/catalog/9780596102142/) for a handy look-up--it&#039;s got all the DPs in the HF Book and a little blurb on what each is. It also has the principles. (It does not have the &lt;strong&gt;Lunch Bucket Rules&lt;/strong&gt; though!)

Second, I don&#039;t think that anyone who is trying to understand design patterns is &lt;em&gt;someone like you&lt;/em&gt;. Rather, I think you&#039;re someone like &lt;em&gt;us&lt;/em&gt;. It just takes time. Also, I think that the best way to start is with as many &lt;strong&gt;OOP Principles&lt;/strong&gt; as possible. Use them like a mantra if that helps. A lot of people are talking about design patterns and ignoring the principles behind them. That usually means they do not fully understand the purpose of design patterns.

Third, design patterns (and OOP for that matter) are best understood by understanding the underlying concepts &lt;em&gt;and&lt;/em&gt; trial and error. Unlike a lot of programming where trial and error gets results; design patterns and OOP require planning and forethought. You need to both get results and do it in such a way that the code is reusable and easy to change when new requirements are demanded.

Finally, to help us all out, I&#039;m going to be explain the design pattern that was used for the application used for this post. It&#039;s a simple &#039;take-to-work&#039; pattern that loads external graphic and SWF files. I&#039;ll provide all the code, and you can put it in your pocket and when you need to load external graphics or SWF files, you&#039;ll have it. I hope to make it the first in a series of &quot;Take-to-Work&quot; design patterns.

Kindest regards,
Bill</description>
		<content:encoded><![CDATA[<p>Hi Bob,</p>
<p>First of all, you might want to get the <strong>Head First Design Pattern poster</strong> (<a href="http://oreilly.com/catalog/9780596102142/" rel="nofollow">http://oreilly.com/catalog/9780596102142/</a>) for a handy look-up&#8211;it&#8217;s got all the DPs in the HF Book and a little blurb on what each is. It also has the principles. (It does not have the <strong>Lunch Bucket Rules</strong> though!)</p>
<p>Second, I don&#8217;t think that anyone who is trying to understand design patterns is <em>someone like you</em>. Rather, I think you&#8217;re someone like <em>us</em>. It just takes time. Also, I think that the best way to start is with as many <strong>OOP Principles</strong> as possible. Use them like a mantra if that helps. A lot of people are talking about design patterns and ignoring the principles behind them. That usually means they do not fully understand the purpose of design patterns.</p>
<p>Third, design patterns (and OOP for that matter) are best understood by understanding the underlying concepts <em>and</em> trial and error. Unlike a lot of programming where trial and error gets results; design patterns and OOP require planning and forethought. You need to both get results and do it in such a way that the code is reusable and easy to change when new requirements are demanded.</p>
<p>Finally, to help us all out, I&#8217;m going to be explain the design pattern that was used for the application used for this post. It&#8217;s a simple &#8216;take-to-work&#8217; pattern that loads external graphic and SWF files. I&#8217;ll provide all the code, and you can put it in your pocket and when you need to load external graphics or SWF files, you&#8217;ll have it. I hope to make it the first in a series of &#8220;Take-to-Work&#8221; design patterns.</p>
<p>Kindest regards,<br />
Bill</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-1747</link>
		<dc:creator>Bob</dc:creator>
		<pubDate>Fri, 06 Mar 2009 13:14:32 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-1747</guid>
		<description>Hi Bill,

I&#039;m new to design patterns and to be honest struggling...

I have tried reading your book and the Head First one but have failed to complete either... I find I learn much quicker by doing rather than reading however this doesn&#039;t really help with design patterns as my main issue is not knowing which pattern(s) should be used for the project in hand.

What might be helpful is some sort of look up table where I could say my module has these needs so I can see possible patterns to use... very much like your design patterns classification table (p61) but with a little more detail.

Is such a thing possible?
Would it help actually help someone like me..?

For the record I do enjoy your book and it&#039;s often used for reference. I am learning all this stuff (largely via your book) albeit quite slowly :)

Unfortunately I think design patterns are best learnt through experience (trial and error).

Cheers
Bob</description>
		<content:encoded><![CDATA[<p>Hi Bill,</p>
<p>I&#8217;m new to design patterns and to be honest struggling&#8230;</p>
<p>I have tried reading your book and the Head First one but have failed to complete either&#8230; I find I learn much quicker by doing rather than reading however this doesn&#8217;t really help with design patterns as my main issue is not knowing which pattern(s) should be used for the project in hand.</p>
<p>What might be helpful is some sort of look up table where I could say my module has these needs so I can see possible patterns to use&#8230; very much like your design patterns classification table (p61) but with a little more detail.</p>
<p>Is such a thing possible?<br />
Would it help actually help someone like me..?</p>
<p>For the record I do enjoy your book and it&#8217;s often used for reference. I am learning all this stuff (largely via your book) albeit quite slowly :)</p>
<p>Unfortunately I think design patterns are best learnt through experience (trial and error).</p>
<p>Cheers<br />
Bob</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: localToGlobal &#187; Blog Archive &#187; news review -&#62; 9th week of 2009</title>
		<link>http://www.as3dp.com/2009/02/26/oop-designs-pattern-principles-ready-for-work/comment-page-1/#comment-1734</link>
		<dc:creator>localToGlobal &#187; Blog Archive &#187; news review -&#62; 9th week of 2009</dc:creator>
		<pubDate>Tue, 03 Mar 2009 20:02:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.as3dp.com/?p=731#comment-1734</guid>
		<description>[...] &gt; OOP &amp; Designs Pattern Principles: Ready for Work &#124; ActionScript 3 Design Patterns [...]</description>
		<content:encoded><![CDATA[<p>[...] &gt; OOP &amp; Designs Pattern Principles: Ready for Work | ActionScript 3 Design Patterns [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
