<?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: Grails Philosophy</title>
	<atom:link href="http://www.zorched.net/2008/05/01/grails-philosophy/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zorched.net/2008/05/01/grails-philosophy/</link>
	<description>Musings of a software developer in Milwaukee, WI.</description>
	<pubDate>Tue, 06 Jan 2009 10:30:20 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: blaxter</title>
		<link>http://www.zorched.net/2008/05/01/grails-philosophy/comment-page-1/#comment-14318</link>
		<dc:creator>blaxter</dc:creator>
		<pubDate>Fri, 28 Nov 2008 11:17:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/?p=103#comment-14318</guid>
		<description>services, adding a layer that does nothing, just expose funcionality already implemented. I'm with Geoff, logic to the model. Do you wanna foo service? Use the controller for making simple calls to the model layer, the same model could be use for rendering anything.

(I guess Marc cames from java world, and he hasn't try frameworks like grails or similar stuff that makes things so much easier).</description>
		<content:encoded><![CDATA[<p>services, adding a layer that does nothing, just expose funcionality already implemented. I&#8217;m with Geoff, logic to the model. Do you wanna foo service? Use the controller for making simple calls to the model layer, the same model could be use for rendering anything.</p>
<p>(I guess Marc cames from java world, and he hasn&#8217;t try frameworks like grails or similar stuff that makes things so much easier).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Geoff Lane</title>
		<link>http://www.zorched.net/2008/05/01/grails-philosophy/comment-page-1/#comment-11231</link>
		<dc:creator>Geoff Lane</dc:creator>
		<pubDate>Sat, 03 May 2008 18:31:21 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/?p=103#comment-11231</guid>
		<description>Marc,
Thanks for the comment. I don't mean to disparage using Services at all. It is of course a great way to share functionality. But whether logic is implemented in a Domain class or a Service, it can still be shared and exposed through multiple means.A Controller will most likely be used to expose those Services. Rendering an HTML page, XML for a REST service or other content is a content negotiation issue best managed by Controllers. That controller can interact with Domain objects or Services, whichever makes the most sense.

I'm fighting the idea that everything needs to be encapsulated in a Service. In this mindset, Services often become simple pass-through objects that just add extra layers and more work without adding much value. Use Services when they make sense, but have a reason.

Either way, thanks for the different perspective.</description>
		<content:encoded><![CDATA[<p>Marc,<br />
Thanks for the comment. I don&#8217;t mean to disparage using Services at all. It is of course a great way to share functionality. But whether logic is implemented in a Domain class or a Service, it can still be shared and exposed through multiple means.A Controller will most likely be used to expose those Services. Rendering an HTML page, XML for a REST service or other content is a content negotiation issue best managed by Controllers. That controller can interact with Domain objects or Services, whichever makes the most sense.</p>
<p>I&#8217;m fighting the idea that everything needs to be encapsulated in a Service. In this mindset, Services often become simple pass-through objects that just add extra layers and more work without adding much value. Use Services when they make sense, but have a reason.</p>
<p>Either way, thanks for the different perspective.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marc Palmer</title>
		<link>http://www.zorched.net/2008/05/01/grails-philosophy/comment-page-1/#comment-11230</link>
		<dc:creator>Marc Palmer</dc:creator>
		<pubDate>Sat, 03 May 2008 17:43:13 +0000</pubDate>
		<guid isPermaLink="false">http://www.zorched.net/?p=103#comment-11230</guid>
		<description>Hiya... I disagree with your views on services. Services are great for all non-view preparation functionality. You should make controllers very thin like you say, but pushing too much functionality into domain classes is bad news, because even with logic related to a single domain class you may need to expose this functionality later as a SOAP, REST, XMLRPC or other service technology. 

Our domain classes are not anaemic - we put functionality related to the class in there in our apps, but typically this is very minimal on the basis that anything that is not just for preparing/managing the domain model is functionality and that may be exposed via many different outlets.</description>
		<content:encoded><![CDATA[<p>Hiya&#8230; I disagree with your views on services. Services are great for all non-view preparation functionality. You should make controllers very thin like you say, but pushing too much functionality into domain classes is bad news, because even with logic related to a single domain class you may need to expose this functionality later as a SOAP, REST, XMLRPC or other service technology. </p>
<p>Our domain classes are not anaemic - we put functionality related to the class in there in our apps, but typically this is very minimal on the basis that anything that is not just for preparing/managing the domain model is functionality and that may be exposed via many different outlets.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
