<?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: How Many Licks?</title>
	<atom:link href="http://laribee.com/how-many-licks/feed" rel="self" type="application/rss+xml" />
	<link>http://laribee.com/how-many-licks</link>
	<description>There are eight million stories in Cloud City; this is just one.</description>
	<lastBuildDate>Tue, 09 Mar 2010 19:48:21 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: The August 2007 Caffeinated Codey Winners are&#8230; &#124; Caffeinated Coder</title>
		<link>http://laribee.com/how-many-licks/comment-page-1#comment-438</link>
		<dc:creator>The August 2007 Caffeinated Codey Winners are&#8230; &#124; Caffeinated Coder</dc:creator>
		<pubDate>Mon, 07 Sep 2009 23:58:54 +0000</pubDate>
		<guid isPermaLink="false">http://laribee.com/blog/2007/08/07/how-many-licks/#comment-438</guid>
		<description>[...] Best Pop Culture Reference that Reminds Me I&#8217;m Getting Old&#8230; David Laribee for his post How Many Licks?. I vividly remember watching Saturday morning cartoons and arguing with my friends about whether [...]</description>
		<content:encoded><![CDATA[<p>[...] Best Pop Culture Reference that Reminds Me I&#8217;m Getting Old&#8230; David Laribee for his post How Many Licks?. I vividly remember watching Saturday morning cartoons and arguing with my friends about whether [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://laribee.com/how-many-licks/comment-page-1#comment-437</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Thu, 09 Aug 2007 16:44:18 +0000</pubDate>
		<guid isPermaLink="false">http://laribee.com/blog/2007/08/07/how-many-licks/#comment-437</guid>
		<description>@Javier - I don&#039;t know about like always. I really like the stuff you&#039;re doing w/ IronRuby. I agree developers, as a species, get enamored with the single right way. I try to keep it simple but I do find that having a few, well-placed constraints helps to move things along.</description>
		<content:encoded><![CDATA[<p>@Javier &#8211; I don&#8217;t know about like always. I really like the stuff you&#8217;re doing w/ IronRuby. I agree developers, as a species, get enamored with the single right way. I try to keep it simple but I do find that having a few, well-placed constraints helps to move things along.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Javier Lozano</title>
		<link>http://laribee.com/how-many-licks/comment-page-1#comment-436</link>
		<dc:creator>Javier Lozano</dc:creator>
		<pubDate>Wed, 08 Aug 2007 13:43:18 +0000</pubDate>
		<guid isPermaLink="false">http://laribee.com/blog/2007/08/07/how-many-licks/#comment-436</guid>
		<description>Great, post dude!  I particularly like the reference to the Toosie pop.  I was thinking of naming my blog post, &quot;how many licks does it take to get to the center of an app?&quot;  ... however, like always you did a better job!
...

It reminds me of the conversation you and and I had on the way to the MS campus back in March.  One point that really sticks out for me is this:

&quot;All of these items are required to represent the real-world customer given my architecture.&quot;

To me this is huge!  It&#039;s context, context, context!  Sometimes I think we get too involved in the &quot;right &amp; wrong&quot; arguments of development and stop focusing on the core of application (what does it need to do and for who?).

We all just need to remember that OO at its core is the passing of messages to objects (yes, objects not classes) and that&#039;s it.  The fact that you have encapsulation, inheritance, blah, blah...that&#039;s just icing on the cake.</description>
		<content:encoded><![CDATA[<p>Great, post dude!  I particularly like the reference to the Toosie pop.  I was thinking of naming my blog post, &#8220;how many licks does it take to get to the center of an app?&#8221;  &#8230; however, like always you did a better job!<br />
&#8230;</p>
<p>It reminds me of the conversation you and and I had on the way to the MS campus back in March.  One point that really sticks out for me is this:</p>
<p>&#8220;All of these items are required to represent the real-world customer given my architecture.&#8221;</p>
<p>To me this is huge!  It&#8217;s context, context, context!  Sometimes I think we get too involved in the &#8220;right &amp; wrong&#8221; arguments of development and stop focusing on the core of application (what does it need to do and for who?).</p>
<p>We all just need to remember that OO at its core is the passing of messages to objects (yes, objects not classes) and that&#8217;s it.  The fact that you have encapsulation, inheritance, blah, blah&#8230;that&#8217;s just icing on the cake.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://laribee.com/how-many-licks/comment-page-1#comment-435</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Wed, 08 Aug 2007 02:17:10 +0000</pubDate>
		<guid isPermaLink="false">http://laribee.com/blog/2007/08/07/how-many-licks/#comment-435</guid>
		<description>True re: class explosion. Role interfaces, to me, are the next step in OO evolution.

I generally don&#039;t use standalone factory classes. Instead, I like a mix-up of the old skool GoF builder pattern but external. I&#039;ve called them in the past a build-to-order specification, but I think it&#039;s really a GoF builder. I&#039;ll feed a builder into a Factory Method living on a repository. I try to keep aggregate roots in control of creating it&#039;s entities in a Demeter-safe (which I wholeheartedly believe in as a core design tenant (excepting method chains)) fashion.

You can have one or more Builders that deal with the invariants and at that point you can persist the class. I like Jimmy Nilsson&#039;s idea of a least-restrictive sense of persistance. That is, I think it&#039;s cool to go ahead and persist entities that are broken. I&#039;ll just persist the reasons they are broken.

Yes, no, maybe, ha ha?</description>
		<content:encoded><![CDATA[<p>True re: class explosion. Role interfaces, to me, are the next step in OO evolution.</p>
<p>I generally don&#8217;t use standalone factory classes. Instead, I like a mix-up of the old skool GoF builder pattern but external. I&#8217;ve called them in the past a build-to-order specification, but I think it&#8217;s really a GoF builder. I&#8217;ll feed a builder into a Factory Method living on a repository. I try to keep aggregate roots in control of creating it&#8217;s entities in a Demeter-safe (which I wholeheartedly believe in as a core design tenant (excepting method chains)) fashion.</p>
<p>You can have one or more Builders that deal with the invariants and at that point you can persist the class. I like Jimmy Nilsson&#8217;s idea of a least-restrictive sense of persistance. That is, I think it&#8217;s cool to go ahead and persist entities that are broken. I&#8217;ll just persist the reasons they are broken.</p>
<p>Yes, no, maybe, ha ha?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Evan</title>
		<link>http://laribee.com/how-many-licks/comment-page-1#comment-434</link>
		<dc:creator>Evan</dc:creator>
		<pubDate>Wed, 08 Aug 2007 00:23:07 +0000</pubDate>
		<guid isPermaLink="false">http://laribee.com/blog/2007/08/07/how-many-licks/#comment-434</guid>
		<description>Developers moving from Structured Procedural code to Object-Oriented code often notice the resulting &quot;class explosion.&quot;  Generally speaking, it&#039;s a sign you are learning better habits.  Class Explosion can also be a smell, but when you are first switching, you should see a huge bump in the number of classes you create.  You can learn the smell later.

Anyone care to weigh in on Factories from DDD?  Where does your Customer start its life (ie..before it was persisted the first time)?</description>
		<content:encoded><![CDATA[<p>Developers moving from Structured Procedural code to Object-Oriented code often notice the resulting &#8220;class explosion.&#8221;  Generally speaking, it&#8217;s a sign you are learning better habits.  Class Explosion can also be a smell, but when you are first switching, you should see a huge bump in the number of classes you create.  You can learn the smell later.</p>
<p>Anyone care to weigh in on Factories from DDD?  Where does your Customer start its life (ie..before it was persisted the first time)?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Dave</title>
		<link>http://laribee.com/how-many-licks/comment-page-1#comment-433</link>
		<dc:creator>Dave</dc:creator>
		<pubDate>Tue, 07 Aug 2007 19:45:10 +0000</pubDate>
		<guid isPermaLink="false">http://laribee.com/blog/2007/08/07/how-many-licks/#comment-433</guid>
		<description>I like your answers. They&#039;re far more direct! :)

I&#039;m coming to think of DTOs as pretty much messages. I&#039;m just reading Gregor Hohpe and Bobby Wolfe magnum opus on Enterprise Integration Patterns and digging back through Udi&#039;s blog. Recently I&#039;ve been mostly in application stacks so I try to keep it simple. Still, I&#039;m a big fan of a &quot;service membrane.&quot; I find by making it part of the default architecture, seperating out contracts (interfaces and DTOs) into a module that clients (UI, integration services) take dependency on _greatly_ contributes to partitioning and maintainability.

Even w/ the slice approach it&#039;s not too thin a slice. Sometimes you find occasion to use make two DTOs fill in for one purpose. I think (keyword) that I&#039;ll probably come around to the idea of each operation having a _distinct message_ (request, response, both, none) and DTOs are more the elements used to compose these message. So like in XSD parlance DTO as complex type. Message as root element.</description>
		<content:encoded><![CDATA[<p>I like your answers. They&#8217;re far more direct! <img src='http://laribee.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;m coming to think of DTOs as pretty much messages. I&#8217;m just reading Gregor Hohpe and Bobby Wolfe magnum opus on Enterprise Integration Patterns and digging back through Udi&#8217;s blog. Recently I&#8217;ve been mostly in application stacks so I try to keep it simple. Still, I&#8217;m a big fan of a &#8220;service membrane.&#8221; I find by making it part of the default architecture, seperating out contracts (interfaces and DTOs) into a module that clients (UI, integration services) take dependency on _greatly_ contributes to partitioning and maintainability.</p>
<p>Even w/ the slice approach it&#8217;s not too thin a slice. Sometimes you find occasion to use make two DTOs fill in for one purpose. I think (keyword) that I&#8217;ll probably come around to the idea of each operation having a _distinct message_ (request, response, both, none) and DTOs are more the elements used to compose these message. So like in XSD parlance DTO as complex type. Message as root element.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ben Scheirman</title>
		<link>http://laribee.com/how-many-licks/comment-page-1#comment-432</link>
		<dc:creator>Ben Scheirman</dc:creator>
		<pubDate>Tue, 07 Aug 2007 19:20:35 +0000</pubDate>
		<guid isPermaLink="false">http://laribee.com/blog/2007/08/07/how-many-licks/#comment-432</guid>
		<description>I think the question could be taken many ways:

How many classes does it take?

* ignoring proper design principles... one!
* one might argue also.....  no more than is absolutely needed.  Resist the urge to put in tons of flexibility where it is not warranted
* and, like you say, to accurately represent a real-world object you&#039;d need a plethora of classes that model even the tiniest behavior.

Interesting note on the sidebar... I like your take on just giving certain screens the &quot;slice&quot; of data that they need and nothing else.  That frees you to model your domain independently of the specific UIs as long as you keep up the translation.  I&#039;m curious how you manage to have many different &quot;flavors&quot; of DTO, depending on the consumer...  perhaps another blog post?</description>
		<content:encoded><![CDATA[<p>I think the question could be taken many ways:</p>
<p>How many classes does it take?</p>
<p>* ignoring proper design principles&#8230; one!<br />
* one might argue also&#8230;..  no more than is absolutely needed.  Resist the urge to put in tons of flexibility where it is not warranted<br />
* and, like you say, to accurately represent a real-world object you&#8217;d need a plethora of classes that model even the tiniest behavior.</p>
<p>Interesting note on the sidebar&#8230; I like your take on just giving certain screens the &#8220;slice&#8221; of data that they need and nothing else.  That frees you to model your domain independently of the specific UIs as long as you keep up the translation.  I&#8217;m curious how you manage to have many different &#8220;flavors&#8221; of DTO, depending on the consumer&#8230;  perhaps another blog post?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
