<?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/"
	xmlns:media="http://search.yahoo.com/mrss/"
		>
<channel>
	<title>Comments for Bill Hamaker's Blog</title>
	<atom:link href="http://billhamaker.wordpress.com/comments/feed/" rel="self" type="application/rss+xml" />
	<link>http://billhamaker.wordpress.com</link>
	<description>Just another Wordpress.com weblog</description>
	<lastBuildDate>Thu, 25 Jun 2009 05:26:09 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>Comment on What is a View in Domain Driven Design? by llwqthcvtkm</title>
		<link>http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-913</link>
		<dc:creator>llwqthcvtkm</dc:creator>
		<pubDate>Thu, 25 Jun 2009 05:26:09 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-913</guid>
		<description>hAG4Cr  &lt;a href=&quot;http://khxgfuarkozb.com/&quot; rel=&quot;nofollow&quot;&gt;khxgfuarkozb&lt;/a&gt;, [url=http://caulbcdciszx.com/]caulbcdciszx[/url], [link=http://eygdzymhywue.com/]eygdzymhywue[/link], http://xgmdeqhyjaqk.com/</description>
		<content:encoded><![CDATA[<p>hAG4Cr  <a href="http://khxgfuarkozb.com/" rel="nofollow">khxgfuarkozb</a>, [url=http://caulbcdciszx.com/]caulbcdciszx[/url], [link=http://eygdzymhywue.com/]eygdzymhywue[/link], <a href="http://xgmdeqhyjaqk.com/" rel="nofollow">http://xgmdeqhyjaqk.com/</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What is a View in Domain Driven Design? by nude</title>
		<link>http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-912</link>
		<dc:creator>nude</dc:creator>
		<pubDate>Tue, 07 Apr 2009 04:49:29 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-912</guid>
		<description>&lt;a href=&quot;http://eduardoshi.masjedblog.ir/&quot; rel=&quot;nofollow&quot;&gt;emmanuelle chriqui nude&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p><a href="http://eduardoshi.masjedblog.ir/" rel="nofollow">emmanuelle chriqui nude</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What is a View in Domain Driven Design? by nude</title>
		<link>http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-911</link>
		<dc:creator>nude</dc:creator>
		<pubDate>Sun, 22 Mar 2009 19:47:50 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-911</guid>
		<description>&lt;a href=&quot;http://alexiabrac.openspace.co.nz/&quot; rel=&quot;nofollow&quot;&gt;tea leoni nude&lt;/a&gt;</description>
		<content:encoded><![CDATA[<p><a href="http://alexiabrac.openspace.co.nz/" rel="nofollow">tea leoni nude</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What is a View in Domain Driven Design? by Born 2 Code .NET &#187; Blog Archive &#187; DDD - The list</title>
		<link>http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-403</link>
		<dc:creator>Born 2 Code .NET &#187; Blog Archive &#187; DDD - The list</dc:creator>
		<pubDate>Mon, 20 Aug 2007 10:34:53 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-403</guid>
		<description>[...] What is a View in Domain Driven Design? [...]</description>
		<content:encoded><![CDATA[<p>[...] What is a View in Domain Driven Design? [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What is a View in Domain Driven Design? by Angel "Java" Lopez : Enlaces y Recursos Domain-Driven Design</title>
		<link>http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-12</link>
		<dc:creator>Angel "Java" Lopez : Enlaces y Recursos Domain-Driven Design</dc:creator>
		<pubDate>Sat, 09 Dec 2006 09:19:31 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-12</guid>
		<description>[...] Avoiding Anemic Domain Models with Hibernatehttp://wrschneider.blogspot.com/2005/01/avoiding-anemic-domain-models-with.htmlWhat is a View in Domain Driven Design?http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/ [...]</description>
		<content:encoded><![CDATA[<p>[...] Avoiding Anemic Domain Models with Hibernatehttp://wrschneider.blogspot.com/2005/01/avoiding-anemic-domain-models-with.htmlWhat is a View in Domain Driven Design?http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/ [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on A Proposal for an Abstract Domain Pattern by Repositories in the Abstract Domain Pattern &#171; Bill Hamaker&#8217;s Blog</title>
		<link>http://billhamaker.wordpress.com/2006/08/24/a-proposal-for-an-abstract-domain-pattern/#comment-9</link>
		<dc:creator>Repositories in the Abstract Domain Pattern &#171; Bill Hamaker&#8217;s Blog</dc:creator>
		<pubDate>Wed, 30 Aug 2006 19:00:27 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/24/a-proposal-for-an-abstract-domain-pattern/#comment-9</guid>
		<description>[...] Bill Hamaker&#8217;s Blog Just another Wordpress.com weblog      &#171; A Proposal for an Abstract Domain Pattern [...]</description>
		<content:encoded><![CDATA[<p>[...] Bill Hamaker&#8217;s Blog Just another WordPress.com weblog      &laquo; A Proposal for an Abstract Domain Pattern [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What is a View in Domain Driven Design? by Bert Hooyman</title>
		<link>http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-8</link>
		<dc:creator>Bert Hooyman</dc:creator>
		<pubDate>Mon, 28 Aug 2006 13:18:03 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-8</guid>
		<description>&lt;i&gt;what is the data type of an element in hotelList?&lt;/i&gt; As this is a return value from hotelRepository it is a collection of objects of type Hotel.

&lt;i&gt;Doesn’t it take a lot of code to turn the projection into valid SQL?&lt;/i&gt; A valid concern. The classical approach is to put the ORM in an XML file and interpret it over and over again. That is potentially more time-consuming than actually generating SQL. 
The alternative is to interpret the XML model only once and generate some source code that is a more technical representation - ready to support the SQL generation. Also that&#039;s a good moment in time to validate the mapping, the projections and all of that. Needless to say what my favorite approach is.</description>
		<content:encoded><![CDATA[<p><i>what is the data type of an element in hotelList?</i> As this is a return value from hotelRepository it is a collection of objects of type Hotel.</p>
<p><i>Doesn’t it take a lot of code to turn the projection into valid SQL?</i> A valid concern. The classical approach is to put the ORM in an XML file and interpret it over and over again. That is potentially more time-consuming than actually generating SQL.<br />
The alternative is to interpret the XML model only once and generate some source code that is a more technical representation &#8211; ready to support the SQL generation. Also that&#8217;s a good moment in time to validate the mapping, the projections and all of that. Needless to say what my favorite approach is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What is a View in Domain Driven Design? by billhamaker</title>
		<link>http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-7</link>
		<dc:creator>billhamaker</dc:creator>
		<pubDate>Fri, 25 Aug 2006 15:51:40 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-7</guid>
		<description>Thanks for the additional information.   Two things I&#039;m not clear on.

1.  In you example what is the data type of an element in hotelList?  Since projections can contain variable data its hard to see how it could be fixed data type.  Is it an ado.net DataTable?

2.  Doesn&#039;t it take a lot of code to turn the projection into valid SQL?  Or are you saying that your mapping software provides most of the code to do that so you don&#039;t need to write the SQL generation code yourself?

I&#039;ve never used an OR mapper so software so I&#039;m I don&#039;t know if application programs could access the SQL generator capabilities of the OR Mapping software directly.

Bill Hamaker</description>
		<content:encoded><![CDATA[<p>Thanks for the additional information.   Two things I&#8217;m not clear on.</p>
<p>1.  In you example what is the data type of an element in hotelList?  Since projections can contain variable data its hard to see how it could be fixed data type.  Is it an ado.net DataTable?</p>
<p>2.  Doesn&#8217;t it take a lot of code to turn the projection into valid SQL?  Or are you saying that your mapping software provides most of the code to do that so you don&#8217;t need to write the SQL generation code yourself?</p>
<p>I&#8217;ve never used an OR mapper so software so I&#8217;m I don&#8217;t know if application programs could access the SQL generator capabilities of the OR Mapping software directly.</p>
<p>Bill Hamaker</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What is a View in Domain Driven Design? by Bert Hooyman</title>
		<link>http://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-6</link>
		<dc:creator>Bert Hooyman</dc:creator>
		<pubDate>Fri, 25 Aug 2006 06:56:58 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/03/what-is-a-view-in-domain-driven-design/#comment-6</guid>
		<description>Two replies to this:
1) The definition of a projection. It&#039;s actually much simpler than you thought it was. A projection has a name (a string) and a collection of properties, each of which is itself a string (&quot;roomtypes.name&quot; from my earlier example). In my implementation, so far I haven&#039;t used any objects for this and simply concatenate all the properties into a comma-separated string.
2) The use of a projection. In my implementation, I have both predefined projections which live in the mapping file, i.e. where my object-relational mapping is specified, and also dynamic projections, which are specified at runtime.
The benefit of predefined mappings is that I can validate them offline (as projections refer to object properties and associations, there&#039;s many ways to make errors so validation must happen), so predefined projections are more efficient.
The dynamic projections add an extra level of flexibility, useful in scenarios where the provider of the Repository service does not know or cannot anticipate what the consumer of the service wants. Very useful when you expose repository as a (web) service, as client apps can then ask for any projection without impact on the server code.

In practice, I start out with dynamic projections during early development of an application. By the time my data entry forms, my list pages and my view pages are all in production-ready state, I turn the dynamic projections into static projections by adding them to the OR mapping file and taking out all the setProjection() calls. Flexibility at development time makes way for performance at production time.

Examples of use:
with a static projection, client code must refer to a projection name that Repository knows about:
hotelList = hotelRepository.find(&quot;hotelListProjection&quot;, );
This throws an exception when &quot;hotelListProjection&quot; is not a known projection name.
With a dynamic projection, client code must first make the projection known to the repository, at which point it is validated:
hotelRepository.setProjection(&quot;hotelListProjection&quot;, &quot;hotelName, streetAddress, qualityRating&quot;);
hotelList = hotelRepository.find(&quot;hotelListProjection&quot;, );
The setProjection method throws validation exceptions when attribute names or association names are unknown to the repository.

The examples above discuss the use of projection for object population which is only part of the story. The other part is of course the object persistence, when object data must be passed back to a persitent store. Again, I&#039;m using projection for that. Reason being that in typical interactive applications, the client code is very much aware of the attributes that were exposed to the UI so it knows very well which attributes may potentially have changed (it&#039;s the same list of attributes that was used to build the data edit page in the first place, in the case of an &quot;update&quot; scenario).

Bert Hooyman, Utrecht, Netherlands</description>
		<content:encoded><![CDATA[<p>Two replies to this:<br />
1) The definition of a projection. It&#8217;s actually much simpler than you thought it was. A projection has a name (a string) and a collection of properties, each of which is itself a string (&#8220;roomtypes.name&#8221; from my earlier example). In my implementation, so far I haven&#8217;t used any objects for this and simply concatenate all the properties into a comma-separated string.<br />
2) The use of a projection. In my implementation, I have both predefined projections which live in the mapping file, i.e. where my object-relational mapping is specified, and also dynamic projections, which are specified at runtime.<br />
The benefit of predefined mappings is that I can validate them offline (as projections refer to object properties and associations, there&#8217;s many ways to make errors so validation must happen), so predefined projections are more efficient.<br />
The dynamic projections add an extra level of flexibility, useful in scenarios where the provider of the Repository service does not know or cannot anticipate what the consumer of the service wants. Very useful when you expose repository as a (web) service, as client apps can then ask for any projection without impact on the server code.</p>
<p>In practice, I start out with dynamic projections during early development of an application. By the time my data entry forms, my list pages and my view pages are all in production-ready state, I turn the dynamic projections into static projections by adding them to the OR mapping file and taking out all the setProjection() calls. Flexibility at development time makes way for performance at production time.</p>
<p>Examples of use:<br />
with a static projection, client code must refer to a projection name that Repository knows about:<br />
hotelList = hotelRepository.find(&#8220;hotelListProjection&#8221;, );<br />
This throws an exception when &#8220;hotelListProjection&#8221; is not a known projection name.<br />
With a dynamic projection, client code must first make the projection known to the repository, at which point it is validated:<br />
hotelRepository.setProjection(&#8220;hotelListProjection&#8221;, &#8220;hotelName, streetAddress, qualityRating&#8221;);<br />
hotelList = hotelRepository.find(&#8220;hotelListProjection&#8221;, );<br />
The setProjection method throws validation exceptions when attribute names or association names are unknown to the repository.</p>
<p>The examples above discuss the use of projection for object population which is only part of the story. The other part is of course the object persistence, when object data must be passed back to a persitent store. Again, I&#8217;m using projection for that. Reason being that in typical interactive applications, the client code is very much aware of the attributes that were exposed to the UI so it knows very well which attributes may potentially have changed (it&#8217;s the same list of attributes that was used to build the data edit page in the first place, in the case of an &#8220;update&#8221; scenario).</p>
<p>Bert Hooyman, Utrecht, Netherlands</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Caching using a Generic Step Function by Bill Hamaker&#8217;s Blog &#187; Blog Archive &#187; Implementing a Generic Step Function</title>
		<link>http://billhamaker.wordpress.com/2006/08/17/caching-using-a-generic-step-function/#comment-5</link>
		<dc:creator>Bill Hamaker&#8217;s Blog &#187; Blog Archive &#187; Implementing a Generic Step Function</dc:creator>
		<pubDate>Tue, 22 Aug 2006 20:22:15 +0000</pubDate>
		<guid isPermaLink="false">https://billhamaker.wordpress.com/2006/08/17/caching-using-a-generic-step-function/#comment-5</guid>
		<description>[...] Bill Hamaker&#8217;s Blog Just another Wordpress.com weblog      &#171; Caching using a Generic Step Function [...]</description>
		<content:encoded><![CDATA[<p>[...] Bill Hamaker&#8217;s Blog Just another WordPress.com weblog      &laquo; Caching using a Generic Step Function [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
