<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	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>.net and other musings &#187; Domain Driven Design</title>
	<atom:link href="http://benl.wordpress.com/category/domain-driven-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://benl.wordpress.com</link>
	<description>Ben Lovell, an agile developer living in the UK.</description>
	<lastBuildDate>Thu, 16 Jul 2009 09:43:48 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='benl.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/43c6fe283d98c1764e951cd6dfface61?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>.net and other musings &#187; Domain Driven Design</title>
		<link>http://benl.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://benl.wordpress.com/osd.xml" title=".net and other musings" />
		<item>
		<title>Incremental development with Monorail: Part Three</title>
		<link>http://benl.wordpress.com/2008/04/01/incremental-development-with-monorail-part-three/</link>
		<comments>http://benl.wordpress.com/2008/04/01/incremental-development-with-monorail-part-three/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 16:49:13 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Domain Driven Design]]></category>
		<category><![CDATA[MVC]]></category>
		<category><![CDATA[Monorail]]></category>
		<category><![CDATA[TDD]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/04/01/incremental-development-with-monorail-part-three/</guid>
		<description><![CDATA[Part OnePart Two
In the last instalment we finished up with a suite of passing tests. However, we&#8217;ve yet to produce anything remotely usable so lets continue by reaching down further and driving out our services/persistence. We&#8217;ll start by writing the following test:
 
We&#8217;ve meddled with our test setup a little to introduce the MockRepository for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&blog=178045&post=296&subd=benl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://benl.wordpress.com/2008/03/27/incremental-development-with-monorail/">Part One</a><br /><a href="http://benl.wordpress.com/2008/03/27/incremental-development-with-monorail-part-two/">Part Two</a></p>
<p>In the last instalment we finished up with a suite of passing tests. However, we&#8217;ve yet to produce anything remotely usable so lets continue by reaching down further and driving out our services/persistence. We&#8217;ll start by writing the following test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/23.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="478" alt="23" src="http://benl.files.wordpress.com/2008/04/23-thumb.png?w=508&#038;h=478" width="508" border="0"></a> </p>
<p>We&#8217;ve meddled with our test setup a little to introduce the <strong>MockRepository </strong>for mocking out our <strong>PostController&#8217;s</strong> new dependency on the <strong>IBlogPostService. </strong>Our test now calls the <strong>AddPost </strong>method on our service interface and sets up the resulting <strong>AddPostResponseDto</strong>. Running the test produces a bunch of compiler whinging so we best implement the newly introduced bits:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/24.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="99" alt="24" src="http://benl.files.wordpress.com/2008/04/24-thumb.png?w=508&#038;h=99" width="508" border="0"></a></p>
<p><a href="http://benl.files.wordpress.com/2008/04/25.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="309" alt="25" src="http://benl.files.wordpress.com/2008/04/25-thumb.png?w=508&#038;h=309" width="508" border="0"></a>&nbsp; </p>
<p><a href="http://benl.files.wordpress.com/2008/04/26.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="181" alt="26" src="http://benl.files.wordpress.com/2008/04/26-thumb.png?w=508&#038;h=181" width="508" border="0"></a> </p>
<p>These are the only changes and additions we&#8217;ve made in order for the tests to compile and run. Running our test now produces the following result:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/27.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="27" alt="27" src="http://benl.files.wordpress.com/2008/04/27-thumb.png?w=508&#038;h=27" width="508" border="0"></a> </p>
<p>As we&#8217;ve yet to modify the <strong>PostController.Save(&#8230;) </strong>call to include a call the newly introduced <strong>IBlogPostService </strong>dependency. Lets go ahead and do this now:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/28.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="144" alt="28" src="http://benl.files.wordpress.com/2008/04/28-thumb.png?w=508&#038;h=144" width="508" border="0"></a> </p>
<p>We&#8217;ve now included the call to our newly introduced service and we set the <strong>responseMessage </strong>if the response is signaled as successful. Lets run our test now:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/29.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="24" alt="29" src="http://benl.files.wordpress.com/2008/04/29-thumb.png?w=495&#038;h=24" width="495" border="0"></a> </p>
<p>It works, ship it! Actually no, again we&#8217;re pretty low on <em>actual </em>functionality right now. Remember we&#8217;ve yet to actually drive out any implementation of the <strong>IBlogPostService </strong>interface as yet and I expect that the acceptance test will fail horribly since we didn&#8217;t wire up the necessary container configuration either. Lets go ahead and run the whole test suite and see what gives:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/30.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="132" alt="30" src="http://benl.files.wordpress.com/2008/04/30-thumb.png?w=508&#038;h=132" width="508" border="0"></a> </p>
<p>In the brief moments the browser appears during the test we can see the following:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/31.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="407" alt="31" src="http://benl.files.wordpress.com/2008/04/31-thumb.png?w=508&#038;h=407" width="508" border="0"></a> </p>
<p>Hmm, as I predicted earlier our application fails to run due to the lack of proper container configuration. Before we can do this we need to implement the <strong>IBlogPostService </strong>interface somewhere. We need to write a failing test to begin our foray into the implementation of a <strong>BlogPostService</strong>:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/32.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="124" alt="32" src="http://benl.files.wordpress.com/2008/04/32-thumb.png?w=508&#038;h=124" width="508" border="0"></a> </p>
<p>Lets create the <strong>BlogPostService </strong>only performing the steps necessary to pass the test above:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/33.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="184" alt="33" src="http://benl.files.wordpress.com/2008/04/33-thumb.png?w=508&#038;h=184" width="508" border="0"></a> </p>
<p>Run the test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/34.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="19" alt="34" src="http://benl.files.wordpress.com/2008/04/34-thumb.png?w=508&#038;h=19" width="508" border="0"></a> </p>
<p>Now we have a working <strong>BlogPostService </strong>we can now wire up our container configuration to pass the acceptance test:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/35.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="86" alt="35" src="http://benl.files.wordpress.com/2008/04/35-thumb.png?w=508&#038;h=86" width="508" border="0"></a> </p>
<p>Now running the full suite of tests produces the following:</p>
<p><a href="http://benl.files.wordpress.com/2008/04/36.png"><img style="border-right:0;border-top:0;border-left:0;border-bottom:0;" height="36" alt="36" src="http://benl.files.wordpress.com/2008/04/36-thumb.png?w=508&#038;h=36" width="508" border="0"></a> </p>
<p>Our tests pass!</p>
<p>That&#8217;s it for this post. I&#8217;ve checked in the latest changes to the repository. In the next post we&#8217;ll continue our efforts and begin to implement validation on our screen-bound DTO&#8217;s.</p>
<p>Google code hosted project: <a title="http://code.google.com/p/mr-blogengine/" href="http://code.google.com/p/mr-blogengine/">http://code.google.com/p/mr-blogengine/</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/296/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/296/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/296/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/296/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/296/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&blog=178045&post=296&subd=benl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/04/01/incremental-development-with-monorail-part-three/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/23-thumb.png" medium="image">
			<media:title type="html">23</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/24-thumb.png" medium="image">
			<media:title type="html">24</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/25-thumb.png" medium="image">
			<media:title type="html">25</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/26-thumb.png" medium="image">
			<media:title type="html">26</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/27-thumb.png" medium="image">
			<media:title type="html">27</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/28-thumb.png" medium="image">
			<media:title type="html">28</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/29-thumb.png" medium="image">
			<media:title type="html">29</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/30-thumb.png" medium="image">
			<media:title type="html">30</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/31-thumb.png" medium="image">
			<media:title type="html">31</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/32-thumb.png" medium="image">
			<media:title type="html">32</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/33-thumb.png" medium="image">
			<media:title type="html">33</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/34-thumb.png" medium="image">
			<media:title type="html">34</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/35-thumb.png" medium="image">
			<media:title type="html">35</media:title>
		</media:content>

		<media:content url="http://benl.files.wordpress.com/2008/04/36-thumb.png" medium="image">
			<media:title type="html">36</media:title>
		</media:content>
	</item>
		<item>
		<title>Front-end DTO&#8217;s</title>
		<link>http://benl.wordpress.com/2008/03/11/front-end-dtos/</link>
		<comments>http://benl.wordpress.com/2008/03/11/front-end-dtos/#comments</comments>
		<pubDate>Tue, 11 Mar 2008 14:16:25 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[ALT.NET]]></category>
		<category><![CDATA[DDD]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Domain Driven Design]]></category>
		<category><![CDATA[Monorail]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/03/11/front-end-dtos/</guid>
		<description><![CDATA[An interesting discussion was brought up in one of the ALT.NET groups regarding the use of DTO&#8217;s in the presentation layer that I had to chime in on.
I&#8217;m a strong advocate of message passing from the UI to your services for several reasons:

Test driving from the top-down is my favoured approach when developing web applications. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&blog=178045&post=146&subd=benl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>An interesting discussion was brought up in one of the ALT.NET groups regarding the use of DTO&#8217;s in the presentation layer that I had to chime in on.</p>
<p>I&#8217;m a strong advocate of message passing from the UI to your services for several reasons:</p>
<ol>
<li>Test driving from the top-down is my favoured approach when developing web applications. I&#8217;ll start by writing a failing test for my controller (you should know by now I use Monorail <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> ). Then I&#8217;ll stub out any dependencies, these usually being service interfaces which accept and return simple DTO&#8217;s with absolutely no behaviour. Stubbing out the services allows you to return dummy data very early on in your development. The nice thing about this approach is you can get a working UI together very quickly and then drive out the development of each layer until you hit your domain model. From which point you can then wire-up your real service and repository implementations and satisfy your acceptance tests end-to-end. Now I&#8217;m not suggesting that this approach isn&#8217;t possible without DTO&#8217;s but it makes it a heck lot easier in my experience.</li>
<li>DDD aggregates by their very nature are composed of behaviours you don&#8217;t want to pass into your UI. Using DTO&#8217;s for binding into your UI keeps things nice and lightweight. Cohesion is high as the DTO&#8217;s are created for a very specific purpose, usually to satisfy a particular screen or UI workflow.</li>
<li>I had made the rather nebulous statement that the use of DTO&#8217;s insulates your UI against changes in your domain model. Quite rightly somebody replied saying that this was all relative and there are many means to insulate against change. Of course, I wholeheartedly agree but in my defence I was replying to the OP from my iPhone. Now for me to explain this a little&#8230; Unless you&#8217;re using query projections (a la NHibernate) you&#8217;ll be mapping from your domain entities to specific DTO&#8217;s using some kind of mapper class. Your mapper probably depends on the interfaces of your particular domain entities and the implementation of your DTO&#8217;s. I say <em>implementation</em> as I drive out the mapping using state-based testing, which of course makes perfect sense when mapping from one state to another! Using DTO&#8217;s means our controller has a nice seam between itself and the services through their interfaces thus the controller (read: UI) has no knowledge of the domain model at all. Any changes to the domain model are catered for by changing the mapper specific to the affected messages. I won&#8217;t get into versioning messages, mainly because I haven&#8217;t got the time or inclination <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>I&#8217;ve always thought (and I read this somewhere I think, but can&#8217;t remember where) that a sign of a well designed architecture, among other things of course, is the ability to replace the UI and have everything function correctly. Now it was probably more poetic than that but essentially what this means is your UI should have absolutely zero dependencies on anything below your service interfaces. Using DTO&#8217;s and message passing means the only work your controllers are doing is scraping the request, passing your message to a service and binding the response. I&#8217;ve demonstrated this in systems I&#8217;ve developed by providing an API (which can be considered another UI if you squint a little and look sideways) which is comprised of exactly the same service calls and DTO&#8217;s my web UI is using.</li>
<li>My last point isn&#8217;t specifically tied to the use of DTO&#8217;s but more based around messaging architecture in general&#8230; What this gives me from the very beginning (i.e. the first test) is a nice basis for distributing my architecture. Our services can be hosted on an application server separately from our web application&nbsp; or preferably located transparently via a message bus which brings in a whole heap of nice side-effects&#8230; </li>
</ol>
<p>So in summary you can see I&#8217;m a big fan of the domain model in my services, mapping to and from DTO&#8217;s in my UI. What is your favoured approach?</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/146/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/146/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/146/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/146/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/146/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&blog=178045&post=146&subd=benl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/03/11/front-end-dtos/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	</item>
		<item>
		<title>Screen casts coming soon</title>
		<link>http://benl.wordpress.com/2008/01/18/screen-casts-coming-soon/</link>
		<comments>http://benl.wordpress.com/2008/01/18/screen-casts-coming-soon/#comments</comments>
		<pubDate>Fri, 18 Jan 2008 23:07:43 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Castle]]></category>
		<category><![CDATA[Design Patterns]]></category>
		<category><![CDATA[Domain Driven Design]]></category>
		<category><![CDATA[Monorail]]></category>
		<category><![CDATA[Screencasts]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2008/01/18/screen-casts-coming-soon/</guid>
		<description><![CDATA[My plan is to build a basic blogging engine using Castle Monorail, Windsor, ActiveRecord and developed with DDD &#38; TDD. I&#8217;ll screencast the whole procedure from start to finish, outlining the basic story or stories for each screencast episode and then go ahead and implement those stories.
Due to the (potential) size of this I&#8217;ll no [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&blog=178045&post=145&subd=benl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>My plan is to build a basic blogging engine using Castle Monorail, Windsor, ActiveRecord and developed with DDD &amp; TDD. I&#8217;ll screencast the whole procedure from start to finish, outlining the basic story or stories for each screencast <em>episode</em> and then go ahead and implement those stories.
<p>Due to the (potential) size of this I&#8217;ll no doubt split this up over many screencasts &#8211; probably weighing in at around an hour or so per piece. Production values will be conspicuously low of course and the screencasts are not necessarily meant to serve as an educational tool, more a window into my usage of tools &amp; techniques.
<p>I&#8217;ll spike out the solution bootstrapping and structure before the first screencast rather than bore you with the requisite stuff. Anyway, expect the first bunch of stories to appear some point early next week&#8230; </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/145/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/145/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/145/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/145/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/145/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&blog=178045&post=145&subd=benl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2008/01/18/screen-casts-coming-soon/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	</item>
		<item>
		<title>Improving Applications Design with a Rich Domain Model</title>
		<link>http://benl.wordpress.com/2007/08/31/improving-applications-design-with-a-rich-domain-model/</link>
		<comments>http://benl.wordpress.com/2007/08/31/improving-applications-design-with-a-rich-domain-model/#comments</comments>
		<pubDate>Fri, 31 Aug 2007 15:21:00 +0000</pubDate>
		<dc:creator>benl</dc:creator>
				<category><![CDATA[DDD]]></category>
		<category><![CDATA[Domain Driven Design]]></category>

		<guid isPermaLink="false">http://benl.wordpress.com/2007/08/31/improving-applications-design-with-a-rich-domain-model/</guid>
		<description><![CDATA[Take a look at this talk on DDD given during Spring 2007 by Chris Richardson&#160;for a heads-up. Its probably the most concise I&#8217;ve seen on the topic so far.
Have a look.
       <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&blog=178045&post=110&subd=benl&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Take a look at this talk on DDD given during Spring 2007 by Chris Richardson&nbsp;for a heads-up. Its probably the most concise I&#8217;ve seen on the topic so far.</p>
<p><a href="http://www.parleys.com/display/PARLEYS/Improving+Application+Design+with+a+Rich+Domain+Model?showComments=true" target="_blank">Have a look</a>.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/benl.wordpress.com/110/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/benl.wordpress.com/110/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/benl.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/benl.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/benl.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/benl.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/benl.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/benl.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/benl.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/benl.wordpress.com/110/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/benl.wordpress.com/110/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/benl.wordpress.com/110/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=benl.wordpress.com&blog=178045&post=110&subd=benl&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://benl.wordpress.com/2007/08/31/improving-applications-design-with-a-rich-domain-model/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/146e52d49d361f85c0945487452fc6a0?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Ben</media:title>
		</media:content>
	</item>
	</channel>
</rss>