<?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: Services in Domain-Driven Design</title>
	<atom:link href="http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/</link>
	<description>Strong opinions, weakly held</description>
	<lastBuildDate>Fri, 17 May 2013 09:02:38 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
	<item>
		<title>By: Which services are considered Infrastructure Services &#124; Code and Programming</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-5406</link>
		<dc:creator>Which services are considered Infrastructure Services &#124; Code and Programming</dc:creator>
		<pubDate>Mon, 31 Dec 2012 16:24:58 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-5406</guid>
		<description>[...] From: [...]</description>
		<content:encoded><![CDATA[<p>[...] From: [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom Rossen</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4804</link>
		<dc:creator>Tom Rossen</dc:creator>
		<pubDate>Fri, 03 Aug 2012 20:31:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4804</guid>
		<description>+1

&quot;Infrastructure&quot; is a misleading term from a legacy worldview very different from DDD.  The only &quot;infrastructure&quot; under the domain layer is the language and the machine - the CLR/JVM/whatever.</description>
		<content:encoded><![CDATA[<p>+1</p>
<p>&#8220;Infrastructure&#8221; is a misleading term from a legacy worldview very different from DDD.  The only &#8220;infrastructure&#8221; under the domain layer is the language and the machine &#8211; the CLR/JVM/whatever.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: CQRS &#38; DDD &#8211; Domain Model Business Rules validation using cqrs read model &#124; PHP Developer Resource</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4625</link>
		<dc:creator>CQRS &#38; DDD &#8211; Domain Model Business Rules validation using cqrs read model &#124; PHP Developer Resource</dc:creator>
		<pubDate>Tue, 29 May 2012 05:16:06 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4625</guid>
		<description>[...] Implement Domain Services as Extension Methods for the repository, Jimmy Bogard has a definition http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/        Tagged: CQRSdomain-driven-designquestions       /* * * CONFIGURATION VARIABLES: EDIT BEFORE [...]</description>
		<content:encoded><![CDATA[<p>[...] Implement Domain Services as Extension Methods for the repository, Jimmy Bogard has a definition <a href="http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/" rel="nofollow">http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/</a>        Tagged: CQRSdomain-driven-designquestions       /* * * CONFIGURATION VARIABLES: EDIT BEFORE [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Naming Your Services &#171; Rockstar Engineering</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4601</link>
		<dc:creator>Naming Your Services &#171; Rockstar Engineering</dc:creator>
		<pubDate>Wed, 16 May 2012 00:49:27 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4601</guid>
		<description>[...] the end of the day, I take my cue from this blog post which has some wonderful advice for naming your services. I am quoting its advice here:   Domain services are the coordinators, allowing higher level [...]</description>
		<content:encoded><![CDATA[<p>[...] the end of the day, I take my cue from this blog post which has some wonderful advice for naming your services. I am quoting its advice here:   Domain services are the coordinators, allowing higher level [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeune Asuncion</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4548</link>
		<dc:creator>Jeune Asuncion</dc:creator>
		<pubDate>Wed, 18 Apr 2012 03:23:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4548</guid>
		<description>Thanks for this post. It cleared up some things on my mind. I had the dilemma of how I would name my service and the post helped me make things clear. 

What did you mean by application services? Is this just your term for API like the one exposed by Twitter et.al? </description>
		<content:encoded><![CDATA[<p>Thanks for this post. It cleared up some things on my mind. I had the dilemma of how I would name my service and the post helped me make things clear. </p>
<p>What did you mean by application services? Is this just your term for API like the one exposed by Twitter et.al? </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4451</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Tue, 20 Mar 2012 13:16:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4451</guid>
		<description>That makes sense - although I don&#039;t know why my code would need to pass through an interface layer. Why have a layer of indirection?

For external clients that makes sense, although I would want to be careful not to fall into the trap of exposing capabilities through an RPC endpoint.</description>
		<content:encoded><![CDATA[<p>That makes sense &#8211; although I don&#8217;t know why my code would need to pass through an interface layer. Why have a layer of indirection?</p>
<p>For external clients that makes sense, although I would want to be careful not to fall into the trap of exposing capabilities through an RPC endpoint.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jimmy Bogard</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4450</link>
		<dc:creator>Jimmy Bogard</dc:creator>
		<pubDate>Tue, 20 Mar 2012 13:15:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4450</guid>
		<description>I don&#039;t think Infrastructure is the core layer - the domain layer is.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t think Infrastructure is the core layer &#8211; the domain layer is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Your fan</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4449</link>
		<dc:creator>Your fan</dc:creator>
		<pubDate>Tue, 20 Mar 2012 09:37:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4449</guid>
		<description>Jimmy, a novice question, in your article you tell that application layer are those rom which outside world contacts, but when i was viewing ddd sample of eric evans , he specified one more layer, ie Interface layer, so all calls from my code behind pass through interface layer and then into application service layer. One more point if i want to write a wcf service so that, java guys can also consume my application functionalities how will i do that in ddd ? </description>
		<content:encoded><![CDATA[<p>Jimmy, a novice question, in your article you tell that application layer are those rom which outside world contacts, but when i was viewing ddd sample of eric evans , he specified one more layer, ie Interface layer, so all calls from my code behind pass through interface layer and then into application service layer. One more point if i want to write a wcf service so that, java guys can also consume my application functionalities how will i do that in ddd ? </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anonymous</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4099</link>
		<dc:creator>Anonymous</dc:creator>
		<pubDate>Tue, 15 Nov 2011 19:28:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4099</guid>
		<description>If someone is down in the weeds interacting directly with a domain object, but can&#039;t supply what the dependency should be, why should this be pushed down to the ORM?

Putting it another way - would you want the domain object interacting with a static helper class instead of an injected dependency, how is that any different?</description>
		<content:encoded><![CDATA[<p>If someone is down in the weeds interacting directly with a domain object, but can&#8217;t supply what the dependency should be, why should this be pushed down to the ORM?</p>
<p>Putting it another way &#8211; would you want the domain object interacting with a static helper class instead of an injected dependency, how is that any different?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kelly Brownsberger</title>
		<link>http://lostechies.com/jimmybogard/2008/08/21/services-in-domain-driven-design/#comment-4098</link>
		<dc:creator>Kelly Brownsberger</dc:creator>
		<pubDate>Tue, 15 Nov 2011 18:11:00 +0000</pubDate>
		<guid isPermaLink="false">/blogs/jimmy_bogard/archive/2008/08/21/services-in-domain-driven-design.aspx#comment-4098</guid>
		<description>Yeah... I remember that post and I tend to share your point of view.  However, I can also see the other point of view where now callers who may not know or care what the implementation of the balance calculator is must know and care.  While this approach is intention revealing in the sense that callers know something non-trivial is going to happen and something other than the current internal state of the domain object is needed, what if they don&#039;t want to know?  I understand from a testing perspective have a blackbox behind each domain behavior can become a nightmare to test in isolation, but at the same time exposing these things to the caller can make their job more difficult too.  Callers now have to know how to construct them or go get them from somewhere (like a container).  I&#039;m not sure that&#039;s better.

I&#039;m just trying to dissect the pros and cons from all angles.  I can think of 3 or 4 ways to approach this, but none of them are without their respective cons.  Service injection seems like it could get out of hand and kill the simplicity of new&#039;ing up POCO.  Do you have any links to horror stories of this approach?  Sounded like you have a long list of pitfalls in mind with this.  Would appreciate hearing any lessons you&#039;ve learned there

Cheers</description>
		<content:encoded><![CDATA[<p>Yeah&#8230; I remember that post and I tend to share your point of view.  However, I can also see the other point of view where now callers who may not know or care what the implementation of the balance calculator is must know and care.  While this approach is intention revealing in the sense that callers know something non-trivial is going to happen and something other than the current internal state of the domain object is needed, what if they don&#8217;t want to know?  I understand from a testing perspective have a blackbox behind each domain behavior can become a nightmare to test in isolation, but at the same time exposing these things to the caller can make their job more difficult too.  Callers now have to know how to construct them or go get them from somewhere (like a container).  I&#8217;m not sure that&#8217;s better.</p>
<p>I&#8217;m just trying to dissect the pros and cons from all angles.  I can think of 3 or 4 ways to approach this, but none of them are without their respective cons.  Service injection seems like it could get out of hand and kill the simplicity of new&#8217;ing up POCO.  Do you have any links to horror stories of this approach?  Sounded like you have a long list of pitfalls in mind with this.  Would appreciate hearing any lessons you&#8217;ve learned there</p>
<p>Cheers</p>
]]></content:encoded>
	</item>
</channel>
</rss>
