<?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: Is DDD Worth It? It Surely Aint Gonna Save Us!</title>
	<atom:link href="http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/</link>
	<description>About Technology in My Life</description>
	<lastBuildDate>Tue, 27 Jul 2010 08:01:33 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: anonymous</title>
		<link>http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/comment-page-1/#comment-7634</link>
		<dc:creator>anonymous</dc:creator>
		<pubDate>Wed, 31 Dec 2008 16:44:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/?p=161#comment-7634</guid>
		<description>I so wanted to believe that you were referring to the good old Data Display Debugger ( DDD ) -- ;)</description>
		<content:encoded><![CDATA[<p>I so wanted to believe that you were referring to the good old Data Display Debugger ( DDD ) &#8212; <img src='http://www.techper.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Eirik Larsen</title>
		<link>http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/comment-page-1/#comment-6002</link>
		<dc:creator>Eirik Larsen</dc:creator>
		<pubDate>Tue, 02 Dec 2008 07:48:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/?p=161#comment-6002</guid>
		<description>I had similar thoughts a while ago, and decided to write a small simple domain as an &quot;academic exercise&quot;. I found it hard trying to accomplish a domain-driven design. The code base was heaps bigger than it would be if I hadn&#039;t bothered with immutability and protecting the integrity of the domain. The conclusion:
- Harder to write good code.
- Easier to maintain the code.
- Less errors.

In other words I would probably do it in a large scale project as well.

You can have a look at a demo and download the source here (feedback appreciated):
http://larsen.blogsite.org/blog/?page_id=162</description>
		<content:encoded><![CDATA[<p>I had similar thoughts a while ago, and decided to write a small simple domain as an &#8220;academic exercise&#8221;. I found it hard trying to accomplish a domain-driven design. The code base was heaps bigger than it would be if I hadn&#8217;t bothered with immutability and protecting the integrity of the domain. The conclusion:<br />
- Harder to write good code.<br />
- Easier to maintain the code.<br />
- Less errors.</p>
<p>In other words I would probably do it in a large scale project as well.</p>
<p>You can have a look at a demo and download the source here (feedback appreciated):<br />
<a href="http://larsen.blogsite.org/blog/?page_id=162" rel="nofollow">http://larsen.blogsite.org/blog/?page_id=162</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Domingos</title>
		<link>http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/comment-page-1/#comment-5898</link>
		<dc:creator>Domingos</dc:creator>
		<pubDate>Sun, 30 Nov 2008 12:18:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/?p=161#comment-5898</guid>
		<description>Hi,

Maybe you can&#039;t see a productivity improvement in DDD because you already apply it?  I agree with hernan above, who said that DDD is 90% common sense.  Maybe you are alredy using the real important principles of DDD.

Another possibility is that you build lots of systems, but you didn&#039;t have to maintain those systems in the long run.  With a clear Domain Model, it is much easier to understand and apply change.</description>
		<content:encoded><![CDATA[<p>Hi,</p>
<p>Maybe you can&#8217;t see a productivity improvement in DDD because you already apply it?  I agree with hernan above, who said that DDD is 90% common sense.  Maybe you are alredy using the real important principles of DDD.</p>
<p>Another possibility is that you build lots of systems, but you didn&#8217;t have to maintain those systems in the long run.  With a clear Domain Model, it is much easier to understand and apply change.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Joseph Wofford</title>
		<link>http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/comment-page-1/#comment-5883</link>
		<dc:creator>Joseph Wofford</dc:creator>
		<pubDate>Sun, 30 Nov 2008 06:52:29 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/?p=161#comment-5883</guid>
		<description>I&#039;ve used domain driven design on projects where I got to design the domain model from scratch and it worked well. I find that the more effort you put into the domain model, the less code you have to write everywhere else. The software also tends to have fewer last minute bugs due to constraints being enforced by the model instead of the business logic and the UI.

I&#039;ve also worked on projects where domain driven design wasn&#039;t used. Constraints were enforced haphazardly if at all. Code to handle special cases proliferated. The business logic was hard to understand or change. The applications produced an unending stream of production bugs which consumed increasing development resources as new feature development slowed to a crawl.

I don&#039;t think domain driven design is really anything new, however. It&#039;s basically just entity relationship modeling for object oriented programmers. It&#039;s nevertheless useful since many programmers aren&#039;t familiar with E-R modeling and don&#039;t see it as applicable to what they do.</description>
		<content:encoded><![CDATA[<p>I&#8217;ve used domain driven design on projects where I got to design the domain model from scratch and it worked well. I find that the more effort you put into the domain model, the less code you have to write everywhere else. The software also tends to have fewer last minute bugs due to constraints being enforced by the model instead of the business logic and the UI.</p>
<p>I&#8217;ve also worked on projects where domain driven design wasn&#8217;t used. Constraints were enforced haphazardly if at all. Code to handle special cases proliferated. The business logic was hard to understand or change. The applications produced an unending stream of production bugs which consumed increasing development resources as new feature development slowed to a crawl.</p>
<p>I don&#8217;t think domain driven design is really anything new, however. It&#8217;s basically just entity relationship modeling for object oriented programmers. It&#8217;s nevertheless useful since many programmers aren&#8217;t familiar with E-R modeling and don&#8217;t see it as applicable to what they do.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Signal9</title>
		<link>http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/comment-page-1/#comment-5865</link>
		<dc:creator>Signal9</dc:creator>
		<pubDate>Sat, 29 Nov 2008 23:37:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/?p=161#comment-5865</guid>
		<description>I think you meant to say &quot;procedural programming to object oriented programming&quot; and not &quot;imperative to object oriented programming&quot;, because OOP languages are also imperative.

With that said, DDD is too abstract.  In theory it seems like a good idea but the underlining technology must be concrete and not abstract.  What you will lose is precision in the implementation and efficiency.</description>
		<content:encoded><![CDATA[<p>I think you meant to say &#8220;procedural programming to object oriented programming&#8221; and not &#8220;imperative to object oriented programming&#8221;, because OOP languages are also imperative.</p>
<p>With that said, DDD is too abstract.  In theory it seems like a good idea but the underlining technology must be concrete and not abstract.  What you will lose is precision in the implementation and efficiency.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: hernan</title>
		<link>http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/comment-page-1/#comment-5860</link>
		<dc:creator>hernan</dc:creator>
		<pubDate>Sat, 29 Nov 2008 21:23:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/?p=161#comment-5860</guid>
		<description>I consult on many projects and what I usually see is procedural code and a relatively poor correlation between the problems being solved and the code conjured up to solve them.  I call this &quot;C&quot; code because it&#039;s very average--I wouldn&#039;t say that it sucks necessarily as I&#039;ve seen several multi-million dollar companies succeed with &quot;C&quot; code.  Almost always, this procedural code is written using a programming language that supports object-oriented modeling.

I became a fan of DDD when nice tools made it possible to build applications using unencumbered object-oriented code.  Hibernate and Spring are good examples as they allow developers to write Plain Old Java code that doesn&#039;t explicitly deal with persistence, transactions, or the assemblies your objects find themselves in from one application to the next.

This unencumbered domain model is usually where I start most of my projects and since it&#039;s straight-up and simple code it&#039;s easy to test and easy to refactor.  I think of the domain model as the &quot;demilitarized zone&quot; of these applications.  The rest seems to fall in place once you have a good domain model.

I&#039;ve seen several projects succeed in the face of shifting requirements because they had a domain model--with a good domain model developers are generally not afraid or hesitant to change things as needed.  Done properly, the fallout from such changes is mostly contained to the domain model.  Furthermore, teams that embrace DDD put a high priority on having an accurate and up-to-date domain model and often seek out and welcome such changes since they help the fidelity of the domain model.  That contrasts sharply with other projects I&#039;ve worked on where developers were afraid or hesitant to make such changes.

DDD is 90% common sense and I think the DDD community is self-conscious of this fact.  The most common answer folks receive on the DDD mailing list is &quot;it depends&quot; and it&#039;s the correct answer in my opinion.  Every domain is different, every application is different, every software development team is different.  Focus on understanding those differences and building code that models your domain directly and you&#039;re doing DDD.

That&#039;s it in a nutshell.

.02
hernan</description>
		<content:encoded><![CDATA[<p>I consult on many projects and what I usually see is procedural code and a relatively poor correlation between the problems being solved and the code conjured up to solve them.  I call this &#8220;C&#8221; code because it&#8217;s very average&#8211;I wouldn&#8217;t say that it sucks necessarily as I&#8217;ve seen several multi-million dollar companies succeed with &#8220;C&#8221; code.  Almost always, this procedural code is written using a programming language that supports object-oriented modeling.</p>
<p>I became a fan of DDD when nice tools made it possible to build applications using unencumbered object-oriented code.  Hibernate and Spring are good examples as they allow developers to write Plain Old Java code that doesn&#8217;t explicitly deal with persistence, transactions, or the assemblies your objects find themselves in from one application to the next.</p>
<p>This unencumbered domain model is usually where I start most of my projects and since it&#8217;s straight-up and simple code it&#8217;s easy to test and easy to refactor.  I think of the domain model as the &#8220;demilitarized zone&#8221; of these applications.  The rest seems to fall in place once you have a good domain model.</p>
<p>I&#8217;ve seen several projects succeed in the face of shifting requirements because they had a domain model&#8211;with a good domain model developers are generally not afraid or hesitant to change things as needed.  Done properly, the fallout from such changes is mostly contained to the domain model.  Furthermore, teams that embrace DDD put a high priority on having an accurate and up-to-date domain model and often seek out and welcome such changes since they help the fidelity of the domain model.  That contrasts sharply with other projects I&#8217;ve worked on where developers were afraid or hesitant to make such changes.</p>
<p>DDD is 90% common sense and I think the DDD community is self-conscious of this fact.  The most common answer folks receive on the DDD mailing list is &#8220;it depends&#8221; and it&#8217;s the correct answer in my opinion.  Every domain is different, every application is different, every software development team is different.  Focus on understanding those differences and building code that models your domain directly and you&#8217;re doing DDD.</p>
<p>That&#8217;s it in a nutshell.</p>
<p>.02<br />
hernan</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Like you're going to care</title>
		<link>http://www.techper.net/2008/11/19/is-ddd-worth-it-it-surely-aint-gonna-save-us/comment-page-1/#comment-5858</link>
		<dc:creator>Like you're going to care</dc:creator>
		<pubDate>Sat, 29 Nov 2008 20:24:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.techper.net/?p=161#comment-5858</guid>
		<description>You neglect to explain what DDD is or is referring to anywhere in this post for readers who wouldn&#039;t otherwise know. There is no link to any explanation, only a conference that makes the assumption you already know what DDD is.

Fail blog post is fail.
Your writing is inaccessible to so many potential readers..</description>
		<content:encoded><![CDATA[<p>You neglect to explain what DDD is or is referring to anywhere in this post for readers who wouldn&#8217;t otherwise know. There is no link to any explanation, only a conference that makes the assumption you already know what DDD is.</p>
<p>Fail blog post is fail.<br />
Your writing is inaccessible to so many potential readers..</p>
]]></content:encoded>
	</item>
</channel>
</rss>
