<?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: Life inside an Aggregate Root, part 1</title>
	<atom:link href="http://richarddingwall.name/2009/10/13/life-inside-an-aggregate-root-part-1/feed/" rel="self" type="application/rss+xml" />
	<link>http://richarddingwall.name/2009/10/13/life-inside-an-aggregate-root-part-1/</link>
	<description>Adventures of a young kiwi software developer in London</description>
	<lastBuildDate>Tue, 09 Mar 2010 23:02:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jaime Metcher</title>
		<link>http://richarddingwall.name/2009/10/13/life-inside-an-aggregate-root-part-1/comment-page-1/#comment-12504</link>
		<dc:creator>Jaime Metcher</dc:creator>
		<pubDate>Thu, 28 Jan 2010 00:54:33 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=2194#comment-12504</guid>
		<description>I don&#039;t really have a problem with the backreference from SkillGroup to TrainingProgramme, but having a method TrainingProgramme.addSkill(skillGroup,skill) that does the uniqueness check before calling skillGroup.add(skill) seems to me to be putting the responsibility where it belongs.  The requirement for whole of programme skill uniqueness is part of the specification of TrainingProgramme, and yet it&#039;s being implemented by SkillGroup.  To put it another way, looking at the code of TrainingProgramme would not tell you that requirement existed.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t really have a problem with the backreference from SkillGroup to TrainingProgramme, but having a method TrainingProgramme.addSkill(skillGroup,skill) that does the uniqueness check before calling skillGroup.add(skill) seems to me to be putting the responsibility where it belongs.  The requirement for whole of programme skill uniqueness is part of the specification of TrainingProgramme, and yet it&#8217;s being implemented by SkillGroup.  To put it another way, looking at the code of TrainingProgramme would not tell you that requirement existed.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Reflective Perspective - Chris Alcock &#187; The Morning Brew #454</title>
		<link>http://richarddingwall.name/2009/10/13/life-inside-an-aggregate-root-part-1/comment-page-1/#comment-10963</link>
		<dc:creator>Reflective Perspective - Chris Alcock &#187; The Morning Brew #454</dc:creator>
		<pubDate>Wed, 14 Oct 2009 07:47:42 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=2194#comment-10963</guid>
		<description>[...] Life inside an Aggregate Root, part 1 - Richard Dingwall explores one of the key Domain Driven Design tenants, the &#8216;aggregate root&#8217; in this two part article discussing the key rules about how they should behave [...]</description>
		<content:encoded><![CDATA[<p>[...] Life inside an Aggregate Root, part 1 &#8211; Richard Dingwall explores one of the key Domain Driven Design tenants, the &#8216;aggregate root&#8217; in this two part article discussing the key rules about how they should behave [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Dingwall &#187; Life inside an Aggregate Root, part 2</title>
		<link>http://richarddingwall.name/2009/10/13/life-inside-an-aggregate-root-part-1/comment-page-1/#comment-10952</link>
		<dc:creator>Richard Dingwall &#187; Life inside an Aggregate Root, part 2</dc:creator>
		<pubDate>Tue, 13 Oct 2009 20:13:23 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=2194#comment-10952</guid>
		<description>[...] This is the second half of a two-part article. Read the first half here: Life inside an Aggregate Root, part 1. [...]</description>
		<content:encoded><![CDATA[<p>[...] This is the second half of a two-part article. Read the first half here: Life inside an Aggregate Root, part 1. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard</title>
		<link>http://richarddingwall.name/2009/10/13/life-inside-an-aggregate-root-part-1/comment-page-1/#comment-10933</link>
		<dc:creator>Richard</dc:creator>
		<pubDate>Mon, 12 Oct 2009 23:58:40 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=2194#comment-10933</guid>
		<description>Kevin: good question - I inject the aggregate root into the entity when it is constructed i.e., when you create a SkillGroup, you specify which TrainingProgramme it belongs to (see example). If you&#039;re using NHibernate, the TrainingProgramme-&gt;SkillGroup association is inverse. 

Part 2 will be about making the TrainingProgramme responsible for constructing child SkillGroups :)</description>
		<content:encoded><![CDATA[<p>Kevin: good question &#8211; I inject the aggregate root into the entity when it is constructed i.e., when you create a SkillGroup, you specify which TrainingProgramme it belongs to (see example). If you&#8217;re using NHibernate, the TrainingProgramme-&gt;SkillGroup association is inverse. </p>
<p>Part 2 will be about making the TrainingProgramme responsible for constructing child SkillGroups :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Berridge</title>
		<link>http://richarddingwall.name/2009/10/13/life-inside-an-aggregate-root-part-1/comment-page-1/#comment-10931</link>
		<dc:creator>Kevin Berridge</dc:creator>
		<pubDate>Mon, 12 Oct 2009 23:31:16 +0000</pubDate>
		<guid isPermaLink="false">http://richarddingwall.name/?p=2194#comment-10931</guid>
		<description>Not sure if you&#039;re planning on covering this in a future post, but I&#039;m curious.  If you were using NHibernate (or any ORM really), how would you set the back pointer from SkillGroup to TrainingProgramme?  I&#039;m assuming the ORM wouldn&#039;t know how to do this for you, so you would have to intercede at some point.</description>
		<content:encoded><![CDATA[<p>Not sure if you&#8217;re planning on covering this in a future post, but I&#8217;m curious.  If you were using NHibernate (or any ORM really), how would you set the back pointer from SkillGroup to TrainingProgramme?  I&#8217;m assuming the ORM wouldn&#8217;t know how to do this for you, so you would have to intercede at some point.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
