<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.0.2" -->
<rss version="2.0" 
	xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
	<title>Comments on: Design patterns as language</title>
	<link>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/</link>
	<description>Alex Miller's technical blog</description>
	<pubDate>Thu, 28 Aug 2008 03:10:51 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.2</generator>

	<item>
		<title>by: Michael Easter</title>
		<link>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/#comment-8650</link>
		<pubDate>Fri, 21 Sep 2007 03:16:26 +0000</pubDate>
		<guid>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/#comment-8650</guid>
					<description>+1 on the thought. Some thoughts:

(a) The GoF book was a &quot;total package&quot; that still blows me away. It not only introduced an entire _catalog_ of patterns, but also introduced the &quot;design pattern&quot; (from architecture) ! 

(b) The power of language and metaphor transcends from the heights of architecture down through to the local variables/members of a class.  I get along well with people who torture themselves over naming an important new class.</description>
		<content:encoded><![CDATA[<p>+1 on the thought. Some thoughts:</p>
<p>(a) The GoF book was a &#8220;total package&#8221; that still blows me away. It not only introduced an entire _catalog_ of patterns, but also introduced the &#8220;design pattern&#8221; (from architecture) ! </p>
<p>(b) The power of language and metaphor transcends from the heights of architecture down through to the local variables/members of a class.  I get along well with people who torture themselves over naming an important new class.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Alex</title>
		<link>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/#comment-8649</link>
		<pubDate>Fri, 21 Sep 2007 02:12:05 +0000</pubDate>
		<guid>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/#comment-8649</guid>
					<description>Well, I think design patterns are more than that too.  I've read a little of Alexander's work (and some stuff that derives from it).  I was really trying to say in the quote above that I don't see how anyone can disagree with the language aspect.  To me, it's the first and most obvious benefit of the patterns movement in software.</description>
		<content:encoded><![CDATA[<p>Well, I think design patterns are more than that too.  I&#8217;ve read a little of Alexander&#8217;s work (and some stuff that derives from it).  I was really trying to say in the quote above that I don&#8217;t see how anyone can disagree with the language aspect.  To me, it&#8217;s the first and most obvious benefit of the patterns movement in software.
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: javakid</title>
		<link>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/#comment-8648</link>
		<pubDate>Fri, 21 Sep 2007 01:48:55 +0000</pubDate>
		<guid>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/#comment-8648</guid>
					<description>I beg to disagree when you say 

...
I think patterns are important for no other reason than to serve as a language that developers can use to talk to each other. It’s so much easier to just say that something is a “factory” or that something uses “delegation” or a “proxy” or whatever. These things have meaning that has been fixed (to some degree) by GoF and for that we are ever indebted.
...

I think design patterns are much more than that. I would recommend reading  Christopher Alexander's keynote at OOSLA 1996 (http://www.patternlanguage.com/archive/ieee/ieeetext.htm).</description>
		<content:encoded><![CDATA[<p>I beg to disagree when you say </p>
<p>&#8230;<br />
I think patterns are important for no other reason than to serve as a language that developers can use to talk to each other. It’s so much easier to just say that something is a “factory” or that something uses “delegation” or a “proxy” or whatever. These things have meaning that has been fixed (to some degree) by GoF and for that we are ever indebted.<br />
&#8230;</p>
<p>I think design patterns are much more than that. I would recommend reading  Christopher Alexander&#8217;s keynote at OOSLA 1996 (http://www.patternlanguage.com/archive/ieee/ieeetext.htm).
</p>
]]></content:encoded>
				</item>
	<item>
		<title>by: Howard Lovatt</title>
		<link>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/#comment-8582</link>
		<pubDate>Thu, 20 Sep 2007 01:08:00 +0000</pubDate>
		<guid>http://tech.puredanger.com/2007/09/19/design-patterns-as-language/#comment-8582</guid>
					<description>I like design patterns and in particular how they can be used to document intent and allow people to discuss a trade off. For example the Singleton pattern has good and bad points; if there is really only one instance of something in a system then that uniqueness is enforced by the compiler, which is nice, on the other hand it makes it harder to mock the object for testing. A discussion around singletons can then be had to determine which is the best approach for a given project.

I like the language of patterns so much that my pet project:

http://pec.dev.java.net/nonav/compile/index.html

is an extended Java compiler that enforces design patterns by explicitly marking the role a class plays in a pattern, consider it an extension of type checking.</description>
		<content:encoded><![CDATA[<p>I like design patterns and in particular how they can be used to document intent and allow people to discuss a trade off. For example the Singleton pattern has good and bad points; if there is really only one instance of something in a system then that uniqueness is enforced by the compiler, which is nice, on the other hand it makes it harder to mock the object for testing. A discussion around singletons can then be had to determine which is the best approach for a given project.</p>
<p>I like the language of patterns so much that my pet project:</p>
<p><a href='http://pec.dev.java.net/nonav/compile/index.html' rel='nofollow'>http://pec.dev.java.net/nonav/compile/index.html</a></p>
<p>is an extended Java compiler that enforces design patterns by explicitly marking the role a class plays in a pattern, consider it an extension of type checking.
</p>
]]></content:encoded>
				</item>
</channel>
</rss>
