<?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: Domain Model Integrity</title>
	<atom:link href="http://www.barneyb.com/barneyblog/2010/04/14/domain-model-integrity/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.barneyb.com/barneyblog/2010/04/14/domain-model-integrity/</link>
	<description>Thoughts, rants, and even some code from the mind of Barney Boisvert.</description>
	<lastBuildDate>Thu, 11 Sep 2014 09:58:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Jamie Krug</title>
		<link>https://www.barneyb.com/barneyblog/2010/04/14/domain-model-integrity/comment-page-1/#comment-210346</link>
		<dc:creator>Jamie Krug</dc:creator>
		<pubDate>Fri, 16 Apr 2010 01:02:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1478#comment-210346</guid>
		<description>Great stuff, thanks, Barney. This is timely, as I was recently re-reading some of this excellent book: &quot;Fundamentals of Object-Oriented Design in UML&quot; by Meilir Page-Jones (http://www.amazon.com/Fundamentals-Object-Oriented-Design-Meilir-Page-Jones/dp/020169946X/ref=ntt_at_ep_dpt_1). There&#039;s some serious in-depth discussion of class invariants, and so much more. Some of it is semi-intuitive (with experience anyway), but much of it is just great reading and knowledge to have when you tackle object oriented design. Anyway, this just related, so I thought I&#039;d suggest that great book for anyone looking to dive deeper into this kind of goodness. Cheers.</description>
		<content:encoded><![CDATA[<p>Great stuff, thanks, Barney. This is timely, as I was recently re-reading some of this excellent book: "Fundamentals of Object-Oriented Design in UML" by Meilir Page-Jones (<a href="http://www.amazon.com/Fundamentals-Object-Oriented-Design-Meilir-Page-Jones/dp/020169946X/ref=ntt_at_ep_dpt_1" rel="nofollow">http://www.amazon.com/Fundamentals-Object-Oriented-Design-Meilir-Page-Jones/dp/020169946X/ref=ntt_at_ep_dpt_1</a>). There's some serious in-depth discussion of class invariants, and so much more. Some of it is semi-intuitive (with experience anyway), but much of it is just great reading and knowledge to have when you tackle object oriented design. Anyway, this just related, so I thought I'd suggest that great book for anyone looking to dive deeper into this kind of goodness. Cheers.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: barneyb</title>
		<link>https://www.barneyb.com/barneyblog/2010/04/14/domain-model-integrity/comment-page-1/#comment-210323</link>
		<dc:creator>barneyb</dc:creator>
		<pubDate>Thu, 15 Apr 2010 17:04:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1478#comment-210323</guid>
		<description>Bob - I&#039;ve added a sentence to the last paragraph (the second one) to explicitly call that out.  A good suggestion.

Martijn, Ray - Thanks.  I&#039;m 5 or 6 years into my Hibernate experience, and I can still remember the pain of starting out, so anything I can do to help others making the transition (both to Hibernate and really just OO domain models in general).

Mike - Avoiding bi-directional relationships is not a good goal.  However, analyzing your business requirements to correctly select between one-directional and bi-directional relationships IS a good goal.  You&#039;re not going to avoid all of them, but you will avoid some of them.  With a RDBMS there is only bi-directional, so you don&#039;t think about the one-/bi- distinction, but with a memory model you have this extra flexibility.</description>
		<content:encoded><![CDATA[<p>Bob &#8211; I've added a sentence to the last paragraph (the second one) to explicitly call that out.  A good suggestion.</p>
<p>Martijn, Ray &#8211; Thanks.  I'm 5 or 6 years into my Hibernate experience, and I can still remember the pain of starting out, so anything I can do to help others making the transition (both to Hibernate and really just OO domain models in general).</p>
<p>Mike &#8211; Avoiding bi-directional relationships is not a good goal.  However, analyzing your business requirements to correctly select between one-directional and bi-directional relationships IS a good goal.  You're not going to avoid all of them, but you will avoid some of them.  With a RDBMS there is only bi-directional, so you don't think about the one-/bi- distinction, but with a memory model you have this extra flexibility.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Chandler</title>
		<link>https://www.barneyb.com/barneyblog/2010/04/14/domain-model-integrity/comment-page-1/#comment-210311</link>
		<dc:creator>Mike Chandler</dc:creator>
		<pubDate>Thu, 15 Apr 2010 15:04:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1478#comment-210311</guid>
		<description>Hi  Barney, this is an excellent post.  I have situations like these in a document management system I&#039;m trying to design.  An Employee has a collection of Documents.  A Document as an owner of type Employee.  Your points are very eye opening.  Do you believe it&#039;s better to avoid a design where there are these bi-directional relationships, or are you just suggesting that we need to be careful and mindful of considering them in our implementations/unit tests?</description>
		<content:encoded><![CDATA[<p>Hi  Barney, this is an excellent post.  I have situations like these in a document management system I'm trying to design.  An Employee has a collection of Documents.  A Document as an owner of type Employee.  Your points are very eye opening.  Do you believe it's better to avoid a design where there are these bi-directional relationships, or are you just suggesting that we need to be careful and mindful of considering them in our implementations/unit tests?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Raymond Camden</title>
		<link>https://www.barneyb.com/barneyblog/2010/04/14/domain-model-integrity/comment-page-1/#comment-210309</link>
		<dc:creator>Raymond Camden</dc:creator>
		<pubDate>Thu, 15 Apr 2010 14:19:35 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1478#comment-210309</guid>
		<description>I hate to add a &quot;Me Too&quot; comment w/ nothing intelligent to it - but you&#039;ve really given me something to think about here. I&#039;ve just released my first large scale ORM app and I really need to review the model and ensure I apply what you&#039;ve talked about here.</description>
		<content:encoded><![CDATA[<p>I hate to add a "Me Too" comment w/ nothing intelligent to it &#8211; but you've really given me something to think about here. I've just released my first large scale ORM app and I really need to review the model and ensure I apply what you've talked about here.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Bob Silverberg</title>
		<link>https://www.barneyb.com/barneyblog/2010/04/14/domain-model-integrity/comment-page-1/#comment-210307</link>
		<dc:creator>Bob Silverberg</dc:creator>
		<pubDate>Thu, 15 Apr 2010 13:48:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1478#comment-210307</guid>
		<description>Another gem indeed. 

It might be worthwhile to spell out specifically how this relates to ColdFusion ORM. I assume that you are hoping that your readers will infer from this that it is critically important to set both sides of a bi-directional relationship, as that is a logical conclusion from this discussion.

I fear, however, that some people may not infer that simple fact from this excellent explanation of _why_ this is so important. I&#039;m certainly not advocating watering down your message, but, if you see fit, a final note explicitly referencing that rule (always set both sides of a bi-directional relationship) might enable more people to make use of this information.</description>
		<content:encoded><![CDATA[<p>Another gem indeed. </p>
<p>It might be worthwhile to spell out specifically how this relates to ColdFusion ORM. I assume that you are hoping that your readers will infer from this that it is critically important to set both sides of a bi-directional relationship, as that is a logical conclusion from this discussion.</p>
<p>I fear, however, that some people may not infer that simple fact from this excellent explanation of _why_ this is so important. I'm certainly not advocating watering down your message, but, if you see fit, a final note explicitly referencing that rule (always set both sides of a bi-directional relationship) might enable more people to make use of this information.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Martijn van der Woud</title>
		<link>https://www.barneyb.com/barneyblog/2010/04/14/domain-model-integrity/comment-page-1/#comment-210289</link>
		<dc:creator>Martijn van der Woud</dc:creator>
		<pubDate>Thu, 15 Apr 2010 05:54:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.barneyb.com/barneyblog/?p=1478#comment-210289</guid>
		<description>Great post Barney, as usual I am impressed by your analytic capabilities.</description>
		<content:encoded><![CDATA[<p>Great post Barney, as usual I am impressed by your analytic capabilities.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
