<?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: Mocks are not about isolation, but about responsibilities</title>
	<atom:link href="http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/feed/" rel="self" type="application/rss+xml" />
	<link>http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/</link>
	<description>Building software that matters</description>
	<lastBuildDate>Thu, 02 Feb 2012 07:12:46 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Kevin Rutherford</title>
		<link>http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/comment-page-1/#comment-60918</link>
		<dc:creator>Kevin Rutherford</dc:creator>
		<pubDate>Wed, 23 Sep 2009 15:20:04 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/?p=1149#comment-60918</guid>
		<description>Hi Gojko, Nice summary! FYI, I also wrote some stuff about the role of mocks, interfaces and dependencies at the system boundary a while back -- http://silkandspinach.net/2005/03/22/the-middle-hexagon-should-be-independent-of-the-adapters/</description>
		<content:encoded><![CDATA[<p>Hi Gojko, Nice summary! FYI, I also wrote some stuff about the role of mocks, interfaces and dependencies at the system boundary a while back &#8212; <a href="http://silkandspinach.net/2005/03/22/the-middle-hexagon-should-be-independent-of-the-adapters/" rel="nofollow">http://silkandspinach.net/2005/03/22/the-middle-hexagon-should-be-independent-of-the-adapters/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rogério Liesenfeld</title>
		<link>http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/comment-page-1/#comment-60805</link>
		<dc:creator>Rogério Liesenfeld</dc:creator>
		<pubDate>Tue, 22 Sep 2009 15:00:06 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/?p=1149#comment-60805</guid>
		<description>@gojko,

OK, in the case of a class implementing multiple interfaces because it has multiple roles, I agree with you.

The article seems to be saying that all classes should have separate interfaces, though. I don&#039;t often create classes which have multiple roles, so most of my classes don&#039;t implement separate abstractions. I prefer to use separate classes (and consequently separate interfaces, since each class has its own public interface) for separate roles, it seems simpler to me that way.</description>
		<content:encoded><![CDATA[<p>@gojko,</p>
<p>OK, in the case of a class implementing multiple interfaces because it has multiple roles, I agree with you.</p>
<p>The article seems to be saying that all classes should have separate interfaces, though. I don&#8217;t often create classes which have multiple roles, so most of my classes don&#8217;t implement separate abstractions. I prefer to use separate classes (and consequently separate interfaces, since each class has its own public interface) for separate roles, it seems simpler to me that way.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gojko</title>
		<link>http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/comment-page-1/#comment-60801</link>
		<dc:creator>gojko</dc:creator>
		<pubDate>Tue, 22 Sep 2009 14:09:10 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/?p=1149#comment-60801</guid>
		<description>@Rogerio,

If a class has several roles, it&#039;s public interface is a mix of methods from all these roles. The premise here is that when one of those roles change later, as the role is not explicitly defined by a separate interface, deciding what to refactor and what to leave might be a challenge. If the role is explicitly defined by an interface, then the definition is clear. (That&#039;s my understanding)</description>
		<content:encoded><![CDATA[<p>@Rogerio,</p>
<p>If a class has several roles, it&#8217;s public interface is a mix of methods from all these roles. The premise here is that when one of those roles change later, as the role is not explicitly defined by a separate interface, deciding what to refactor and what to leave might be a challenge. If the role is explicitly defined by an interface, then the definition is clear. (That&#8217;s my understanding)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rogério Liesenfeld</title>
		<link>http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/comment-page-1/#comment-60794</link>
		<dc:creator>Rogério Liesenfeld</dc:creator>
		<pubDate>Tue, 22 Sep 2009 12:51:47 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/?p=1149#comment-60794</guid>
		<description>I don&#039;t understand the parts that say &quot;If there is no interface defining the relationship between two classes ...&quot; and &quot;If the interface isn’t there then the relationship is just implicit, ...&quot;.

I always thought that all classes HAVE an interface. In Java, we have four different accessibility levels (public, protected, package private/default, and private) for the members of a class.

In my understanding, the set of public members of a class C is the &quot;public interface&quot; of the class. So, if another class C&#039; in a different package uses this public interface of C, then we DO have &quot;an interface defining the relationship between two classes&quot;, and that relationship is very explicit.

Where is the error in this understanding?</description>
		<content:encoded><![CDATA[<p>I don&#8217;t understand the parts that say &#8220;If there is no interface defining the relationship between two classes &#8230;&#8221; and &#8220;If the interface isn’t there then the relationship is just implicit, &#8230;&#8221;.</p>
<p>I always thought that all classes HAVE an interface. In Java, we have four different accessibility levels (public, protected, package private/default, and private) for the members of a class.</p>
<p>In my understanding, the set of public members of a class C is the &#8220;public interface&#8221; of the class. So, if another class C&#8217; in a different package uses this public interface of C, then we DO have &#8220;an interface defining the relationship between two classes&#8221;, and that relationship is very explicit.</p>
<p>Where is the error in this understanding?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reflective Perspective - Chris Alcock &#187; The Morning Brew #438</title>
		<link>http://gojko.net/2009/09/21/mocks-are-not-about-isolation-but-about-responsibilities/comment-page-1/#comment-60770</link>
		<dc:creator>Reflective Perspective - Chris Alcock &#187; The Morning Brew #438</dc:creator>
		<pubDate>Tue, 22 Sep 2009 07:18:13 +0000</pubDate>
		<guid isPermaLink="false">http://gojko.net/?p=1149#comment-60770</guid>
		<description>[...] Mocks are not about isolation, but about responsibilities - Gojko Adzic sumarises a presentation by Steve Freeman at CITCON Europe about the use of mock objects, what they were intended for originally and how you should use them. Some interesting thoughts [...]</description>
		<content:encoded><![CDATA[<p>[...] Mocks are not about isolation, but about responsibilities &#8211; Gojko Adzic sumarises a presentation by Steve Freeman at CITCON Europe about the use of mock objects, what they were intended for originally and how you should use them. Some interesting thoughts [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

