<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments on: Domain-Driven Design: Sample Application</title>
	<atom:link href="http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/</link>
	<description>Simple is better than complex. Complex is better than complicated. &#124; @fedecarg</description>
	<lastBuildDate>Mon, 06 Feb 2012 14:38:53 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: Tom</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6866</link>
		<dc:creator><![CDATA[Tom]]></dc:creator>
		<pubDate>Thu, 11 Nov 2010 14:23:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6866</guid>
		<description><![CDATA[I was afraid of that answer, Im not a big fan of doctrine. The idea of using yaml, xml to make the mappings happen seems odd. 

I would rather code the mappings. Also there is to much magic going on in doctrine. And it has some perfomance impact.]]></description>
		<content:encoded><![CDATA[<p>I was afraid of that answer, Im not a big fan of doctrine. The idea of using yaml, xml to make the mappings happen seems odd. </p>
<p>I would rather code the mappings. Also there is to much magic going on in doctrine. And it has some perfomance impact.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lcf</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6865</link>
		<dc:creator><![CDATA[lcf]]></dc:creator>
		<pubDate>Thu, 11 Nov 2010 10:03:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6865</guid>
		<description><![CDATA[Hi Tom,
There&#039;s just one decent solution at the moment. More or less universal. Doctrine 2.

Nothing else is even close.]]></description>
		<content:encoded><![CDATA[<p>Hi Tom,<br />
There&#8217;s just one decent solution at the moment. More or less universal. Doctrine 2.</p>
<p>Nothing else is even close.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Federico</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6864</link>
		<dc:creator><![CDATA[Federico]]></dc:creator>
		<pubDate>Thu, 11 Nov 2010 10:01:56 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6864</guid>
		<description><![CDATA[Instead of wiring  everything yourself, you can use a library like Doctrine. ]]></description>
		<content:encoded><![CDATA[<p>Instead of wiring  everything yourself, you can use a library like Doctrine.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tom</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6863</link>
		<dc:creator><![CDATA[Tom]]></dc:creator>
		<pubDate>Thu, 11 Nov 2010 08:25:46 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6863</guid>
		<description><![CDATA[Im wondering if anybody has a good solution to handle database relationships with Domain Driven Design. Im complety lost at the moment about how to handle them.]]></description>
		<content:encoded><![CDATA[<p>Im wondering if anybody has a good solution to handle database relationships with Domain Driven Design. Im complety lost at the moment about how to handle them.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lcf</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6770</link>
		<dc:creator><![CDATA[lcf]]></dc:creator>
		<pubDate>Fri, 02 Jul 2010 12:40:31 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6770</guid>
		<description><![CDATA[Let&#039;s say I want another implementation of UserDAO, that would load users via http from a remote web service. I would have to convert all data that I load from that new data source into &quot;rows&quot; like if they were from flat db tables. This is not flexible at all. The logic of searching and loading data may vary from repository to repository, from data source to data source.

The thing you really need is an interface like UserRepositoryInterface that would always return domain objects, and you may rely on it in your services.]]></description>
		<content:encoded><![CDATA[<p>Let&#8217;s say I want another implementation of UserDAO, that would load users via http from a remote web service. I would have to convert all data that I load from that new data source into &#8220;rows&#8221; like if they were from flat db tables. This is not flexible at all. The logic of searching and loading data may vary from repository to repository, from data source to data source.</p>
<p>The thing you really need is an interface like UserRepositoryInterface that would always return domain objects, and you may rely on it in your services.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Federico</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6769</link>
		<dc:creator><![CDATA[Federico]]></dc:creator>
		<pubDate>Fri, 02 Jul 2010 12:23:05 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6769</guid>
		<description><![CDATA[No. You need to separate a data resource&#039;s client interface from its data access mechanisms.]]></description>
		<content:encoded><![CDATA[<p>No. You need to separate a data resource&#8217;s client interface from its data access mechanisms.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lcf</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6767</link>
		<dc:creator><![CDATA[lcf]]></dc:creator>
		<pubDate>Wed, 30 Jun 2010 12:25:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6767</guid>
		<description><![CDATA[UserDAO interface/implementation seems to be unnecessary.
It can&#039;t be used without the repository and the repository can&#039;t be used without some specific DAO implementation. What we need really is just
repository interface and implementation. Agree?]]></description>
		<content:encoded><![CDATA[<p>UserDAO interface/implementation seems to be unnecessary.<br />
It can&#8217;t be used without the repository and the repository can&#8217;t be used without some specific DAO implementation. What we need really is just<br />
repository interface and implementation. Agree?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Federico</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6754</link>
		<dc:creator><![CDATA[Federico]]></dc:creator>
		<pubDate>Thu, 10 Jun 2010 09:54:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6754</guid>
		<description><![CDATA[Implementing a Repository: http://bit.ly/ddd-repository]]></description>
		<content:encoded><![CDATA[<p>Implementing a Repository: <a href="http://bit.ly/ddd-repository" rel="nofollow">http://bit.ly/ddd-repository</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Federico</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6751</link>
		<dc:creator><![CDATA[Federico]]></dc:creator>
		<pubDate>Wed, 09 Jun 2010 13:54:41 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6751</guid>
		<description><![CDATA[You are right. One Repository per  Aggregate Root. In this case User is the Aggregate Root that controls access to the UserProfile.]]></description>
		<content:encoded><![CDATA[<p>You are right. One Repository per  Aggregate Root. In this case User is the Aggregate Root that controls access to the UserProfile.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeboy</title>
		<link>http://blog.fedecarg.com/2009/03/22/domain-driven-design-sample-application/#comment-6750</link>
		<dc:creator><![CDATA[Jeboy]]></dc:creator>
		<pubDate>Tue, 08 Jun 2010 00:51:34 +0000</pubDate>
		<guid isPermaLink="false">http://blog.fedecarg.com/?p=1468#comment-6750</guid>
		<description><![CDATA[I think the persistence of UserProfile object is User object&#039;s responsibility since it is member of its aggregates, an aggregate which is stored in the Repository. Meaning storing/saving the User aggregate is also taking care of persisting its related objects, though saving this aggregate in storage is lil&#039; bit tedious without an ORM but still it complies to the purpose and design of the Repository which is a collection of Aggregate Roots and abstracting Persistence layer from the Domain.]]></description>
		<content:encoded><![CDATA[<p>I think the persistence of UserProfile object is User object&#8217;s responsibility since it is member of its aggregates, an aggregate which is stored in the Repository. Meaning storing/saving the User aggregate is also taking care of persisting its related objects, though saving this aggregate in storage is lil&#8217; bit tedious without an ORM but still it complies to the purpose and design of the Repository which is a collection of Aggregate Roots and abstracting Persistence layer from the Domain.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

