<?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: Should we always use Domain Model?</title>
	<atom:link href="http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/</link>
	<description>Thoughts on Software Development</description>
	<lastBuildDate>Sat, 11 Feb 2012 23:17:00 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Derlon Aliendres</title>
		<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/comment-page-1/#comment-123215</link>
		<dc:creator>Derlon Aliendres</dc:creator>
		<pubDate>Thu, 12 May 2011 11:45:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=347#comment-123215</guid>
		<description>@55ddccf193d86ef28a1aab323118abb3:disqus  @f043df581dd40cc3cfe6c2c4cbe31c23:disqus  

 
 
@49833977598de9524fa85cacb93a42ce:disqus
 

@147381277b8f7d05eb3a93c5e8fb0439:disqus
 

I just wanted to make a reservation. I&#039;m agnostico ActiveRecord in the extent that the Model Object are not responsible for persisting themselves. So the DomainServer must orchestrate them and &quot;update them state via Repository&#039;s.

I think that we can&#039;t focus only in (OO) (idealling) modelling the Entity&#039;s (Classes), and otherhand focus only in Data (Relational DB) Modelling. Bcz invariably we&#039;ll must make the OR-mapping. So we have to search the Model that best reflects/abstracts the reallity (Business&#124;Domain) and the Design that best concil OO and Data Modeling.
 
</description>
		<content:encoded><![CDATA[<p>@55ddccf193d86ef28a1aab323118abb3:disqus  @f043df581dd40cc3cfe6c2c4cbe31c23:disqus  </p>
<p>@49833977598de9524fa85cacb93a42ce:disqus</p>
<p>@147381277b8f7d05eb3a93c5e8fb0439:disqus</p>
<p>I just wanted to make a reservation. I&#8217;m agnostico ActiveRecord in the extent that the Model Object are not responsible for persisting themselves. So the DomainServer must orchestrate them and &#8220;update them state via Repository&#8217;s.</p>
<p>I think that we can&#8217;t focus only in (OO) (idealling) modelling the Entity&#8217;s (Classes), and otherhand focus only in Data (Relational DB) Modelling. Bcz invariably we&#8217;ll must make the OR-mapping. So we have to search the Model that best reflects/abstracts the reallity (Business|Domain) and the Design that best concil OO and Data Modeling.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Derlon Aliendres</title>
		<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/comment-page-1/#comment-123214</link>
		<dc:creator>Derlon Aliendres</dc:creator>
		<pubDate>Thu, 12 May 2011 11:41:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=347#comment-123214</guid>
		<description>  IMHO, I just really think that, for chosing the &quot;right alternative&quot;, one have to keep in mind witch paradigm he (or she) is actualling using (OO, Functional and/or Dinamic Language, etc.). For instance, it&#039;s completly absurd use TransactionScript if we use OOP. (Otherwise we should use OO! :O) So it&#039;s expect of us to use a quite Rich DomainModel, i.e., encapsulating Rules and Logic of Business in the Model Objects (Entity&#039;s and Value Object&#039;s) and let the DomainService orchestrating them and implementing just Business (micro)Flow, get it?!!

</description>
		<content:encoded><![CDATA[<p>IMHO, I just really think that, for chosing the &#8220;right alternative&#8221;, one have to keep in mind witch paradigm he (or she) is actualling using (OO, Functional and/or Dinamic Language, etc.). For instance, it&#8217;s completly absurd use TransactionScript if we use OOP. (Otherwise we should use OO! :O) So it&#8217;s expect of us to use a quite Rich DomainModel, i.e., encapsulating Rules and Logic of Business in the Model Objects (Entity&#8217;s and Value Object&#8217;s) and let the DomainService orchestrating them and implementing just Business (micro)Flow, get it?!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Object-Oriented Design: Which, How and What at Fragmental.tw</title>
		<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/comment-page-1/#comment-439</link>
		<dc:creator>Object-Oriented Design: Which, How and What at Fragmental.tw</dc:creator>
		<pubDate>Mon, 22 Sep 2008 14:48:49 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=347#comment-439</guid>
		<description>[...] friend Mark Needham wrote a blog post on the Domain Model pattern and Domain-Driven Design recently. He changed a bit the contents but the original question was: Should we always use Domain-Driven [...]</description>
		<content:encoded><![CDATA[<p>[...] friend Mark Needham wrote a blog post on the Domain Model pattern and Domain-Driven Design recently. He changed a bit the contents but the original question was: Should we always use Domain-Driven [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Needham</title>
		<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/comment-page-1/#comment-385</link>
		<dc:creator>Mark Needham</dc:creator>
		<pubDate>Fri, 19 Sep 2008 15:47:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=347#comment-385</guid>
		<description>@Phillip - You&#039;re right, I think I have phrased this quite poorly - I guess I am more talking about the Rich Domain Model idea within Domain Driven Design rather than DDD as a whole. That&#039;s what the discussion was around and there seemed to be the suggestion that having the rich domain model was the only way to do it.

As you mention I haven&#039;t seen DDD done when there wasn&#039;t a domain model in use as well. 

So in a way there are almost two questions I was pondering - what are the alternatives to DDD and what are the alternative to using the domain model? It would be interesting to hear your thoughts on the former.</description>
		<content:encoded><![CDATA[<p>@Phillip &#8211; You&#8217;re right, I think I have phrased this quite poorly &#8211; I guess I am more talking about the Rich Domain Model idea within Domain Driven Design rather than DDD as a whole. That&#8217;s what the discussion was around and there seemed to be the suggestion that having the rich domain model was the only way to do it.</p>
<p>As you mention I haven&#8217;t seen DDD done when there wasn&#8217;t a domain model in use as well. </p>
<p>So in a way there are almost two questions I was pondering &#8211; what are the alternatives to DDD and what are the alternative to using the domain model? It would be interesting to hear your thoughts on the former.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Phillip Calçado "Shoes"</title>
		<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/comment-page-1/#comment-382</link>
		<dc:creator>Phillip Calçado "Shoes"</dc:creator>
		<pubDate>Fri, 19 Sep 2008 13:33:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=347#comment-382</guid>
		<description>I think you may have made a confusion, Mark.

You&#039;ve presented as alternatives techniques that are at the same level as the Domain Model pattern, not Domain-Driven Design.

It is very hard to have DDD without the Domain Model pattern but you don&#039;t have to use DDD just because you have a Domain Model. DDD is about using business language in the software constructs, Domain Model is just about having proper objects (and not just functions and data structures) as the business logic holders.

So, in the end of the day the answer to your question would be &#039;no&#039;, but not just because you could use transaction scripts or table gateways but because you could have a Domain Model that&#039;s not designed after DDD principles.

cheers</description>
		<content:encoded><![CDATA[<p>I think you may have made a confusion, Mark.</p>
<p>You&#8217;ve presented as alternatives techniques that are at the same level as the Domain Model pattern, not Domain-Driven Design.</p>
<p>It is very hard to have DDD without the Domain Model pattern but you don&#8217;t have to use DDD just because you have a Domain Model. DDD is about using business language in the software constructs, Domain Model is just about having proper objects (and not just functions and data structures) as the business logic holders.</p>
<p>So, in the end of the day the answer to your question would be &#8216;no&#8217;, but not just because you could use transaction scripts or table gateways but because you could have a Domain Model that&#8217;s not designed after DDD principles.</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Colin Jack</title>
		<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/comment-page-1/#comment-380</link>
		<dc:creator>Colin Jack</dc:creator>
		<pubDate>Fri, 19 Sep 2008 12:07:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=347#comment-380</guid>
		<description>I actually think the relational-object complexity aspect can be oversold. 

Using Castle ActiveRecord, and so using attributes to control persistence, and binding those &quot;domain&quot; objects directly to the GUI is incredibly simple. Even if your DB and domain don&#039;t match it can work as there is some flexibility there.

Obviously if its a shared DB, or you don&#039;t control the DB, then it is more work but even then you can bridge the gap between relational and domain relatively easy when the problem domain is relatively small and/or simple. In such cases you can sacrifice some domain model quality to make the mapping possible/easier.

However if you want to do DDD &quot;properly&quot; you really have to use not only the patterns but the ideas including the analysis/design. That adds a lot of work on its own, work thats very worthwhile but not necessarily needed in all cases.

So I actually think that the core patterns (factory/service/aggregate/specification/repository/entity/value object) can be used in many more cases than the concepts.</description>
		<content:encoded><![CDATA[<p>I actually think the relational-object complexity aspect can be oversold. </p>
<p>Using Castle ActiveRecord, and so using attributes to control persistence, and binding those &#8220;domain&#8221; objects directly to the GUI is incredibly simple. Even if your DB and domain don&#8217;t match it can work as there is some flexibility there.</p>
<p>Obviously if its a shared DB, or you don&#8217;t control the DB, then it is more work but even then you can bridge the gap between relational and domain relatively easy when the problem domain is relatively small and/or simple. In such cases you can sacrifice some domain model quality to make the mapping possible/easier.</p>
<p>However if you want to do DDD &#8220;properly&#8221; you really have to use not only the patterns but the ideas including the analysis/design. That adds a lot of work on its own, work thats very worthwhile but not necessarily needed in all cases.</p>
<p>So I actually think that the core patterns (factory/service/aggregate/specification/repository/entity/value object) can be used in many more cases than the concepts.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mark Needham</title>
		<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/comment-page-1/#comment-379</link>
		<dc:creator>Mark Needham</dc:creator>
		<pubDate>Fri, 19 Sep 2008 11:40:44 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=347#comment-379</guid>
		<description>Fair points. What would you suggest as pointers that would indicate whether or not DDD is likely to be a successful approach?

Re: the silver bullet idea...I just meant that it seemed (in the discussion at the conference) that it could be applied to all situations and other approaches were &#039;less worthy&#039;. Of course that may just be my perception but I thought I&#039;d put it out there.</description>
		<content:encoded><![CDATA[<p>Fair points. What would you suggest as pointers that would indicate whether or not DDD is likely to be a successful approach?</p>
<p>Re: the silver bullet idea&#8230;I just meant that it seemed (in the discussion at the conference) that it could be applied to all situations and other approaches were &#8216;less worthy&#8217;. Of course that may just be my perception but I thought I&#8217;d put it out there.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeff Santini</title>
		<link>http://www.markhneedham.com/blog/2008/09/19/should-we-always-use-domain-mode/comment-page-1/#comment-378</link>
		<dc:creator>Jeff Santini</dc:creator>
		<pubDate>Fri, 19 Sep 2008 11:21:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.markhneedham.com/blog/?p=347#comment-378</guid>
		<description>How did the first team ever succeed at DDD when there was no one who had experience using it and there could be no buy in until the idea was understood.

I think you must distinguish between when there is a good technical argument and a good social argument.  Obviously the domain of your app must play some part in your decision and not just whether or not you have buy in.

Likewise you could have a very table oriented way to storing your data, but that does not mean it is the way you should be storing your data.

Figure out what are the parameters of your app, and what are the capabilities of the people you will be working with.

Don&#039;t base it solely on whether you have buy in or whether it is already being done another way. as you suggest above.  There are objective pointers to use.

and by the way, can people stop suggesting that anything was ever called a silver bullet by anyone.  Can we just assume that anyone who does suggest that anything is a silver bullet is too stupid to merit a response?  Then we could concentrate on more worthy discussions.</description>
		<content:encoded><![CDATA[<p>How did the first team ever succeed at DDD when there was no one who had experience using it and there could be no buy in until the idea was understood.</p>
<p>I think you must distinguish between when there is a good technical argument and a good social argument.  Obviously the domain of your app must play some part in your decision and not just whether or not you have buy in.</p>
<p>Likewise you could have a very table oriented way to storing your data, but that does not mean it is the way you should be storing your data.</p>
<p>Figure out what are the parameters of your app, and what are the capabilities of the people you will be working with.</p>
<p>Don&#8217;t base it solely on whether you have buy in or whether it is already being done another way. as you suggest above.  There are objective pointers to use.</p>
<p>and by the way, can people stop suggesting that anything was ever called a silver bullet by anyone.  Can we just assume that anyone who does suggest that anything is a silver bullet is too stupid to merit a response?  Then we could concentrate on more worthy discussions.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

