<?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: Transitory Domain Objects</title>
	<atom:link href="http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/</link>
	<description>Advanced web application development tactics - from scalability to UI design</description>
	<lastBuildDate>Wed, 01 Feb 2012 22:40:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: air max 90</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-1220</link>
		<dc:creator>air max 90</dc:creator>
		<pubDate>Thu, 14 Jul 2011 04:35:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-1220</guid>
		<description>I was happy to find this web-site.I wanted to appreciate it for your precious time with this amazing read!! I ACTUALLY surely loving every little it and I&#039;ve you saved as a favorite to look at brand-new stuff you article.</description>
		<content:encoded><![CDATA[<p>I was happy to find this web-site.I wanted to appreciate it for your precious time with this amazing read!! I ACTUALLY surely loving every little it and I&#8217;ve you saved as a favorite to look at brand-new stuff you article.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: liposukcja</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-1210</link>
		<dc:creator>liposukcja</dc:creator>
		<pubDate>Tue, 21 Jun 2011 07:19:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-1210</guid>
		<description>It’s the pity you actually don’t possess a donate link! I’d most likely donate to this superior web site! We presume right now i’ll be happy with book-marking as well as attaching your own Rss feed in order to my personal Search engines accounts. We appear forwards in order to recent posts and can publish this particular web page along with my personal Myspace group: )</description>
		<content:encoded><![CDATA[<p>It’s the pity you actually don’t possess a donate link! I’d most likely donate to this superior web site! We presume right now i’ll be happy with book-marking as well as attaching your own Rss feed in order to my personal Search engines accounts. We appear forwards in order to recent posts and can publish this particular web page along with my personal Myspace group: )</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: beads</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-1209</link>
		<dc:creator>beads</dc:creator>
		<pubDate>Mon, 20 Jun 2011 09:57:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-1209</guid>
		<description>Hi excellent website! Does running a blog similar to this take a great deal of work? I&#039;ve absolutely no expertise in programming but I was hoping to start my own blog in the near future. Anyways, should you have any suggestions or tips for new blog owners please share. I understand this is off topic but I simply needed to ask. Thanks!</description>
		<content:encoded><![CDATA[<p>Hi excellent website! Does running a blog similar to this take a great deal of work? I&#8217;ve absolutely no expertise in programming but I was hoping to start my own blog in the near future. Anyways, should you have any suggestions or tips for new blog owners please share. I understand this is off topic but I simply needed to ask. Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Suradhish Ray</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-1187</link>
		<dc:creator>Suradhish Ray</dc:creator>
		<pubDate>Thu, 26 May 2011 00:42:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-1187</guid>
		<description>Wanted to drop a comment and let you know your Feed isnt functioning today. I tried adding it to my Yahoo reader account but got absolutely nothing.</description>
		<content:encoded><![CDATA[<p>Wanted to drop a comment and let you know your Feed isnt functioning today. I tried adding it to my Yahoo reader account but got absolutely nothing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: wow leveling zones</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-1174</link>
		<dc:creator>wow leveling zones</dc:creator>
		<pubDate>Sun, 08 May 2011 07:55:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-1174</guid>
		<description>Awesome work over again. Thumbs up=)</description>
		<content:encoded><![CDATA[<p>Awesome work over again. Thumbs up=)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Immigration solicitors</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-1172</link>
		<dc:creator>Immigration solicitors</dc:creator>
		<pubDate>Thu, 05 May 2011 16:30:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-1172</guid>
		<description>you have a link on my blog http://www.conveyancingquotes.info/?page_id=9 , Rattling good   information can be found on blog .</description>
		<content:encoded><![CDATA[<p>you have a link on my blog <a href="http://www.conveyancingquotes.info/?page_id=9" rel="nofollow">http://www.conveyancingquotes.info/?page_id=9</a> , Rattling good   information can be found on blog .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastian Markbåge</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-22</link>
		<dc:creator>Sebastian Markbåge</dc:creator>
		<pubDate>Sun, 31 May 2009 14:41:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-22</guid>
		<description>The problem with both those approaches is that I can&#039;t easily do the filtering of Red hue in one place and marking them with meta data in another place. By introducing a transient workflow concept to the domain, I can move the concept around within my domain logic as well as in my application.

myController.Photos = photoSet.UsingOnly(Color.Red);

public IEnumerable&lt;Photo&gt; List()
{
  return myController.Photos;
}

public void Apply(string text)
{
  return myController.Photos.MarkWithMetadata(text);
}

Granted, this is a too simplistic example as always with DDD. But you can see that as this gets more complex I&#039;d have to pass around references to repository and services and/or specifications (Color.Red).

In this case &quot;PhotoSet&quot; is a domain specific term which is why I went with that. Even though Set is also a technical term I favored the ubiquitous language. I&#039;ve also had the terms Collection and List in my domains. Imagine a fashion designer&#039;s &quot;collection&quot; or a customer &quot;list&quot; with own domain properties.

It&#039;s not my place to dictate the UL of the domain.</description>
		<content:encoded><![CDATA[<p>The problem with both those approaches is that I can&#8217;t easily do the filtering of Red hue in one place and marking them with meta data in another place. By introducing a transient workflow concept to the domain, I can move the concept around within my domain logic as well as in my application.</p>
<p>myController.Photos = photoSet.UsingOnly(Color.Red);</p>
<p>public IEnumerable
<photo> List()<br />
{<br />
  return myController.Photos;<br />
}</p>
<p>public void Apply(string text)<br />
{<br />
  return myController.Photos.MarkWithMetadata(text);<br />
}</p>
<p>Granted, this is a too simplistic example as always with DDD. But you can see that as this gets more complex I&#8217;d have to pass around references to repository and services and/or specifications (Color.Red).</p>
<p>In this case &#8220;PhotoSet&#8221; is a domain specific term which is why I went with that. Even though Set is also a technical term I favored the ubiquitous language. I&#8217;ve also had the terms Collection and List in my domains. Imagine a fashion designer&#8217;s &#8220;collection&#8221; or a customer &#8220;list&#8221; with own domain properties.</p>
<p>It&#8217;s not my place to dictate the UL of the domain.</photo>
]]></content:encoded>
	</item>
	<item>
		<title>By: Roger Alsing</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-21</link>
		<dc:creator>Roger Alsing</dc:creator>
		<pubDate>Sun, 31 May 2009 08:09:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-21</guid>
		<description>IMO, what you are doing is Domain Services with an Internal DSL API.

I do like the look of that API.
But it would be possible to make it as a pure old domain service too:

var photoService = new PhotoService();
photoService.MarkWithMetadata( photoRepository , colorDetectorService, metaDataService, Color.Red, &quot;RED&quot;);

Or if you use a container of some sort to configure your service instances.

var photoService = foo.Get();
photoService.MarkWithMetadata( Color.Red, &quot;RED&quot;);

But I do like the fluent interface / internal DSL approach you have.
The thing that bothers me about it though is that &quot;PhotoSet&quot; is probably ambigious semantics with what you get from a photo repository.

You do get sets of photos from photo repositories.
(most likely some IList (ignoring the fact that ilist is not a true set interface))

Thus it would blur the meaning of a &quot;photo set&quot;
Unless you explicitly starts talking about Photo Sets and Collections of Photos.</description>
		<content:encoded><![CDATA[<p>IMO, what you are doing is Domain Services with an Internal DSL API.</p>
<p>I do like the look of that API.<br />
But it would be possible to make it as a pure old domain service too:</p>
<p>var photoService = new PhotoService();<br />
photoService.MarkWithMetadata( photoRepository , colorDetectorService, metaDataService, Color.Red, &#8220;RED&#8221;);</p>
<p>Or if you use a container of some sort to configure your service instances.</p>
<p>var photoService = foo.Get();<br />
photoService.MarkWithMetadata( Color.Red, &#8220;RED&#8221;);</p>
<p>But I do like the fluent interface / internal DSL approach you have.<br />
The thing that bothers me about it though is that &#8220;PhotoSet&#8221; is probably ambigious semantics with what you get from a photo repository.</p>
<p>You do get sets of photos from photo repositories.<br />
(most likely some IList (ignoring the fact that ilist is not a true set interface))</p>
<p>Thus it would blur the meaning of a &#8220;photo set&#8221;<br />
Unless you explicitly starts talking about Photo Sets and Collections of Photos.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastian Markbåge</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-20</link>
		<dc:creator>Sebastian Markbåge</dc:creator>
		<pubDate>Sat, 30 May 2009 22:49:45 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-20</guid>
		<description>&gt;&gt; &gt;&gt;The reference itself is (usually) infrastructure and not really a persistence concern.
&gt;&gt; Entities are not supposed to deal with persistence concerns, they are supposed to deal with _domain_ concerns.
&gt;&gt; The entire point of POCO is not have persistence concerns in the entities.

Yea, what I meant to say was that it isn&#039;t a persistent concern within the domain. Even if that persistence is only in memory. A property of an entity is persistent as opposed to a temporary variable in a method. (Suggestions for better verbiage are welcome.)

Service references are a transient concern during a certain operation only. I.e. infrastructure.</description>
		<content:encoded><![CDATA[<p>>> >>The reference itself is (usually) infrastructure and not really a persistence concern.<br />
>> Entities are not supposed to deal with persistence concerns, they are supposed to deal with _domain_ concerns.<br />
>> The entire point of POCO is not have persistence concerns in the entities.</p>
<p>Yea, what I meant to say was that it isn&#8217;t a persistent concern within the domain. Even if that persistence is only in memory. A property of an entity is persistent as opposed to a temporary variable in a method. (Suggestions for better verbiage are welcome.)</p>
<p>Service references are a transient concern during a certain operation only. I.e. infrastructure.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Sebastian Markbåge</title>
		<link>http://blog.calyptus.eu/seb/2009/05/transitory_domain_object/comment-page-1/#comment-19</link>
		<dc:creator>Sebastian Markbåge</dc:creator>
		<pubDate>Sat, 30 May 2009 22:42:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.calyptus.eu/?p=125#comment-19</guid>
		<description>&gt;&gt; In the easiest case it can be done by simply require the consumer to pass the reference into a method instead.

Yea, this is typically using double dispatch.

&gt;&gt; That is not completely true, “domain services” are apart of the domain itself, and have a very clear role in the domain.

Services is such an overused term and it&#039;s unclear when to use it. Services in DDD are too undefined and can span various concepts. Thus violating single responsibility.

&quot;Domain services&quot; is close to what I&#039;m doing but I&#039;m using a slightly definition and different constraints to put it more in line with the UL and ensure separation of concerns.

I don&#039;t couple any external operations to my transient domain objects. They are side-effect free, as Haskell people would call it. Therefore I don&#039;t use an interface and I don&#039;t bother with IoC because they contain only side-effect free domain logic.</description>
		<content:encoded><![CDATA[<p>>> In the easiest case it can be done by simply require the consumer to pass the reference into a method instead.</p>
<p>Yea, this is typically using double dispatch.</p>
<p>>> That is not completely true, “domain services” are apart of the domain itself, and have a very clear role in the domain.</p>
<p>Services is such an overused term and it&#8217;s unclear when to use it. Services in DDD are too undefined and can span various concepts. Thus violating single responsibility.</p>
<p>&#8220;Domain services&#8221; is close to what I&#8217;m doing but I&#8217;m using a slightly definition and different constraints to put it more in line with the UL and ensure separation of concerns.</p>
<p>I don&#8217;t couple any external operations to my transient domain objects. They are side-effect free, as Haskell people would call it. Therefore I don&#8217;t use an interface and I don&#8217;t bother with IoC because they contain only side-effect free domain logic.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

