<?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: How TDD clarified the Open/Closed Principle for me</title>
	<atom:link href="http://www.appistry.com/blog/2009/01/how-tdd-clarified-openclosed-principle-me-2/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.appistry.com/blog/2009/01/how-tdd-clarified-openclosed-principle-me-2/</link>
	<description>News and Ideas from Appistry on Appistry, Cloud Computing, Private Clouds and More</description>
	<lastBuildDate>Wed, 13 Jan 2010 07:37:17 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Victor noagbodji</title>
		<link>http://www.appistry.com/blog/2009/01/how-tdd-clarified-openclosed-principle-me-2/comment-page-1/#comment-89</link>
		<dc:creator>Victor noagbodji</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-89</guid>
		<description>Great article. It would be nice if you write some tutorials on TDD for the rest of us.</description>
		<content:encoded><![CDATA[<p>Great article. It would be nice if you write some tutorials on TDD for the rest of us.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Robert 'Groby' Blum</title>
		<link>http://www.appistry.com/blog/2009/01/how-tdd-clarified-openclosed-principle-me-2/comment-page-1/#comment-90</link>
		<dc:creator>Robert 'Groby' Blum</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-90</guid>
		<description>I might be confused, but isn&#039;t DummyList just a mock for your list? 

Or do you mean you implemented DummyList so it only responds to the necessary methods? (In that case, I&#039;m SOL - static typing... :)

</description>
		<content:encoded><![CDATA[<p>I might be confused, but isn&#8217;t DummyList just a mock for your list? </p>
<p>Or do you mean you implemented DummyList so it only responds to the necessary methods? (In that case, I&#8217;m SOL &#8211; static typing&#8230; <img src='http://www.appistry.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Groner</title>
		<link>http://www.appistry.com/blog/2009/01/how-tdd-clarified-openclosed-principle-me-2/comment-page-1/#comment-91</link>
		<dc:creator>Michael Groner</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-91</guid>
		<description>In my example the &quot;DummyList&quot; was a dummy object, not mock class. That way I was sure I had removed any dependencies on concrete classes. Python shielded me from having to build abstract interfaces with separate implementations but it would be necessary in C++ and Java.

I wanted to go into more code detail in the blog, but was concerned it was getting too long already. If there is some element of my post that you like to see in more detail in a later entry, please let me know.

- Michael</description>
		<content:encoded><![CDATA[<p>In my example the &#8220;DummyList&#8221; was a dummy object, not mock class. That way I was sure I had removed any dependencies on concrete classes. Python shielded me from having to build abstract interfaces with separate implementations but it would be necessary in C++ and Java.</p>
<p>I wanted to go into more code detail in the blog, but was concerned it was getting too long already. If there is some element of my post that you like to see in more detail in a later entry, please let me know.</p>
<p>- Michael</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian Button</title>
		<link>http://www.appistry.com/blog/2009/01/how-tdd-clarified-openclosed-principle-me-2/comment-page-1/#comment-92</link>
		<dc:creator>Brian Button</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-92</guid>
		<description>Michael,

I&#039;m glad you get these principles. I learned them from Bob in the very early &#039;90s and have held them very dear since. But in this case, where the act of injecting behavior and data into the classes being tested is the effect you&#039;re seeing, does this seem more closely aligned with the DIP? 

The SRP drives you down the road of creating small, coherent, but loosely coupled classes, while the DIP teaches you  how to keep that coupling loose.

Admittedly, I usually think of the OCP from a statically typed language point of view, but even when viewed with an eye towards ruby, injecting behavior seems to favor the DIP.

What do you think?

-- bab
</description>
		<content:encoded><![CDATA[<p>Michael,</p>
<p>I&#8217;m glad you get these principles. I learned them from Bob in the very early &#8217;90s and have held them very dear since. But in this case, where the act of injecting behavior and data into the classes being tested is the effect you&#8217;re seeing, does this seem more closely aligned with the DIP? </p>
<p>The SRP drives you down the road of creating small, coherent, but loosely coupled classes, while the DIP teaches you  how to keep that coupling loose.</p>
<p>Admittedly, I usually think of the OCP from a statically typed language point of view, but even when viewed with an eye towards ruby, injecting behavior seems to favor the DIP.</p>
<p>What do you think?</p>
<p>&#8211; bab</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: michael</title>
		<link>http://www.appistry.com/blog/2009/01/how-tdd-clarified-openclosed-principle-me-2/comment-page-1/#comment-93</link>
		<dc:creator>michael</dc:creator>
		<pubDate>Tue, 30 Nov 1999 00:00:00 +0000</pubDate>
		<guid isPermaLink="false">#comment-93</guid>
		<description>Brian -

Thanks for the question. It really got me thinking.

I hope you don&#039;t mind, but my response grew into a blog post of its own. Please take a look and let me know what you think: http://bit.ly/rLtJ

- Michael
</description>
		<content:encoded><![CDATA[<p>Brian -</p>
<p>Thanks for the question. It really got me thinking.</p>
<p>I hope you don&#8217;t mind, but my response grew into a blog post of its own. Please take a look and let me know what you think: <a href="http://bit.ly/rLtJ" rel="nofollow">http://bit.ly/rLtJ</a></p>
<p>- Michael</p>
]]></content:encoded>
	</item>
</channel>
</rss>
