<?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: Refactoring Day 27 : Remove God Classes</title>
	<atom:link href="http://lostechies.com/seanchambers/2009/08/27/refactoring-day-27-remove-god-classes/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/seanchambers/2009/08/27/refactoring-day-27-remove-god-classes/</link>
	<description>Just another LosTechies site</description>
	<lastBuildDate>Thu, 13 Sep 2012 07:11:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Dave Two</title>
		<link>http://lostechies.com/seanchambers/2009/08/27/refactoring-day-27-remove-god-classes/#comment-451</link>
		<dc:creator>Dave Two</dc:creator>
		<pubDate>Fri, 28 Aug 2009 13:47:57 +0000</pubDate>
		<guid isPermaLink="false">/blogs/sean_chambers/archive/2009/08/27/refactoring-day-27-remove-god-classes.aspx#comment-451</guid>
		<description>I&#039;m more interested in findging out what calls these service classes.  If this is a &quot;controller&quot; type class, do we now need to maintain two references, or pass two references around instead of one?  Or do we bundle this under a &quot;ServiceManager&quot; that maintains references to all of these sub-services?</description>
		<content:encoded><![CDATA[<p>I&#8217;m more interested in findging out what calls these service classes.  If this is a &#8220;controller&#8221; type class, do we now need to maintain two references, or pass two references around instead of one?  Or do we bundle this under a &#8220;ServiceManager&#8221; that maintains references to all of these sub-services?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Lyronne</title>
		<link>http://lostechies.com/seanchambers/2009/08/27/refactoring-day-27-remove-god-classes/#comment-450</link>
		<dc:creator>Lyronne</dc:creator>
		<pubDate>Fri, 28 Aug 2009 10:29:28 +0000</pubDate>
		<guid isPermaLink="false">/blogs/sean_chambers/archive/2009/08/27/refactoring-day-27-remove-god-classes.aspx#comment-450</guid>
		<description>In this example the refactoring results look similar to a Service Layer (Fowler, POEAA, Service Layer). The difference between this and Service Layer is that service layer delegates to a domain model. I know this example is really about SRP, but can we afford to ignore the possibility of these classes not existing at all. The opportunity exists to connect these operations to the objects they operate on, by enriching Customer, Order, Product etc. with the appropriate operations in these classes, the classes become closely mapped to the domain language and IMO these classes are ambassadors for SRP.</description>
		<content:encoded><![CDATA[<p>In this example the refactoring results look similar to a Service Layer (Fowler, POEAA, Service Layer). The difference between this and Service Layer is that service layer delegates to a domain model. I know this example is really about SRP, but can we afford to ignore the possibility of these classes not existing at all. The opportunity exists to connect these operations to the objects they operate on, by enriching Customer, Order, Product etc. with the appropriate operations in these classes, the classes become closely mapped to the domain language and IMO these classes are ambassadors for SRP.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave the Ninja</title>
		<link>http://lostechies.com/seanchambers/2009/08/27/refactoring-day-27-remove-god-classes/#comment-449</link>
		<dc:creator>Dave the Ninja</dc:creator>
		<pubDate>Fri, 28 Aug 2009 00:34:40 +0000</pubDate>
		<guid isPermaLink="false">/blogs/sean_chambers/archive/2009/08/27/refactoring-day-27-remove-god-classes.aspx#comment-449</guid>
		<description>@Roxin

I would split it down further as you mentioned as the calculator and validation IMO have completely separate responsibilities.

David</description>
		<content:encoded><![CDATA[<p>@Roxin</p>
<p>I would split it down further as you mentioned as the calculator and validation IMO have completely separate responsibilities.</p>
<p>David</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roxin</title>
		<link>http://lostechies.com/seanchambers/2009/08/27/refactoring-day-27-remove-god-classes/#comment-448</link>
		<dc:creator>Roxin</dc:creator>
		<pubDate>Thu, 27 Aug 2009 17:14:23 +0000</pubDate>
		<guid isPermaLink="false">/blogs/sean_chambers/archive/2009/08/27/refactoring-day-27-remove-god-classes.aspx#comment-448</guid>
		<description>Would you also split CustomerOrderService into another 2 classes ? OrderCalculators , CustomerOrderValidation (for the first 2 methods ) - would this be overkill ?</description>
		<content:encoded><![CDATA[<p>Would you also split CustomerOrderService into another 2 classes ? OrderCalculators , CustomerOrderValidation (for the first 2 methods ) &#8211; would this be overkill ?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
