<?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: OOP is a tool</title>
	<atom:link href="http://fiatdev.com/2008/04/07/oop-is-a-tool/feed" rel="self" type="application/rss+xml" />
	<link>http://fiatdev.com/2008/04/07/oop-is-a-tool</link>
	<description>Let There Be Software!</description>
	<lastBuildDate>Sat, 19 Sep 2009 09:36:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Daniel</title>
		<link>http://fiatdev.com/2008/04/07/oop-is-a-tool/comment-page-1#comment-570</link>
		<dc:creator>Daniel</dc:creator>
		<pubDate>Wed, 09 Apr 2008 15:17:17 +0000</pubDate>
		<guid isPermaLink="false">http://fiatdev.com/?p=91#comment-570</guid>
		<description>&lt;p&gt;The key here is &quot;high quality&quot;. I think the manager example is pretty clear in this regard. I&#039;d argue that a software were you can&#039;t unit test a class properly is not high quality, even if it happens to be correct.&lt;/p&gt;

&lt;p&gt;A high quality software necessarily has diminished maintenance costs, and lack of strong unit tests definitily increase the cost of maintenance severely.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>The key here is &#8220;high quality&#8221;. I think the manager example is pretty clear in this regard. I&#8217;d argue that a software were you can&#8217;t unit test a class properly is not high quality, even if it happens to be correct.</p>

<p>A high quality software necessarily has diminished maintenance costs, and lack of strong unit tests definitily increase the cost of maintenance severely.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: phil</title>
		<link>http://fiatdev.com/2008/04/07/oop-is-a-tool/comment-page-1#comment-569</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Wed, 09 Apr 2008 14:13:49 +0000</pubDate>
		<guid isPermaLink="false">http://fiatdev.com/?p=91#comment-569</guid>
		<description>&lt;p&gt;@Steve: very insightful. I hadn&#039;t thought of it like that, but you are right. OO isn&#039;t really a monolithic thing, it is a set of practices with varying degrees of utility.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>@Steve: very insightful. I hadn&#8217;t thought of it like that, but you are right. OO isn&#8217;t really a monolithic thing, it is a set of practices with varying degrees of utility.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Steve</title>
		<link>http://fiatdev.com/2008/04/07/oop-is-a-tool/comment-page-1#comment-568</link>
		<dc:creator>Steve</dc:creator>
		<pubDate>Wed, 09 Apr 2008 08:45:07 +0000</pubDate>
		<guid isPermaLink="false">http://fiatdev.com/?p=91#comment-568</guid>
		<description>&lt;p&gt;The root cause of problems faced with use of OO is that it is talked about as a lump when it really falls apart into multiple different techniques&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Encapsulation of data and implementation&lt;/li&gt;
&lt;li&gt;Things sharing the same API contract (interface inheritance)&lt;/li&gt;
&lt;li&gt;Naive code re-use (implementation inheritance)&lt;/li&gt;
&lt;li&gt;partitioning of responsibilities&lt;/li&gt;
&lt;li&gt;probably others&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;While implementation inheritance tends to be the major focus of teaching, it tends to be the least useful (&amp; most complicated) in practice (mix-ins or composition often being a simpler route to the same end).&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>The root cause of problems faced with use of OO is that it is talked about as a lump when it really falls apart into multiple different techniques</p>

<ul>
<li>Encapsulation of data and implementation</li>
<li>Things sharing the same API contract (interface inheritance)</li>
<li>Naive code re-use (implementation inheritance)</li>
<li>partitioning of responsibilities</li>
<li>probably others</li>
</ul>

<p>While implementation inheritance tends to be the major focus of teaching, it tends to be the least useful (&amp; most complicated) in practice (mix-ins or composition often being a simpler route to the same end).</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Ben</title>
		<link>http://fiatdev.com/2008/04/07/oop-is-a-tool/comment-page-1#comment-567</link>
		<dc:creator>Ben</dc:creator>
		<pubDate>Wed, 09 Apr 2008 05:14:11 +0000</pubDate>
		<guid isPermaLink="false">http://fiatdev.com/?p=91#comment-567</guid>
		<description>&lt;p&gt;I think the difficulty lies in using the right amount of inheritance.  There&#039;s a fine line in the overuse of inheritance and getting the usage just right.  The Final==Good article was an interesting find.  Thanks Phil.&lt;/p&gt;
</description>
		<content:encoded><![CDATA[<p>I think the difficulty lies in using the right amount of inheritance.  There&#8217;s a fine line in the overuse of inheritance and getting the usage just right.  The Final==Good article was an interesting find.  Thanks Phil.</p>]]></content:encoded>
	</item>
</channel>
</rss>
