<?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: Generic Value Object</title>
	<atom:link href="http://elegantcode.com/2009/06/07/generic-value-object/feed/" rel="self" type="application/rss+xml" />
	<link>http://elegantcode.com/2009/06/07/generic-value-object/</link>
	<description></description>
	<lastBuildDate>Tue, 16 Mar 2010 18:16:58 -0500</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: sadfsdf</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-2/#comment-47714</link>
		<dc:creator>sadfsdf</dc:creator>
		<pubDate>Wed, 15 Jul 2009 22:25:42 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-47714</guid>
		<description>What an incredible waste of time.</description>
		<content:encoded><![CDATA[<p>What an incredible waste of time.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Van Ryswyck</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-2/#comment-47708</link>
		<dc:creator>Jan Van Ryswyck</dc:creator>
		<pubDate>Wed, 15 Jul 2009 18:03:57 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-47708</guid>
		<description>@Christian: You&#039;re right. I don&#039;t seem to be able to even copy a single line of code to WLW. I need a vacation.</description>
		<content:encoded><![CDATA[<p>@Christian: You&#8217;re right. I don&#8217;t seem to be able to even copy a single line of code to WLW. I need a vacation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Christian Deger</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-2/#comment-47659</link>
		<dc:creator>Christian Deger</dc:creator>
		<pubDate>Tue, 14 Jul 2009 09:43:25 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-47659</guid>
		<description>&lt;a href=&quot;#comment-47609&quot; rel=&quot;nofollow&quot;&gt;@Jan Van Ryswyck&lt;/a&gt; 

I still think Gustavos solution is the right one.

Your updated repository version:

if(null == oneValue &#124;&#124; null != otherValue) return false;

Does allways return false when otherValue is not null. And that does not seem right.

Besides that, I do like your implementation. Thank You!

-Christian</description>
		<content:encoded><![CDATA[<p><a href="#comment-47609" rel="nofollow">@Jan Van Ryswyck</a> </p>
<p>I still think Gustavos solution is the right one.</p>
<p>Your updated repository version:</p>
<p>if(null == oneValue || null != otherValue) return false;</p>
<p>Does allways return false when otherValue is not null. And that does not seem right.</p>
<p>Besides that, I do like your implementation. Thank You!</p>
<p>-Christian</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Van Ryswyck</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-2/#comment-47609</link>
		<dc:creator>Jan Van Ryswyck</dc:creator>
		<pubDate>Sun, 12 Jul 2009 08:52:17 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-47609</guid>
		<description>@Gustavo: You are right, there was a bug in there. I guess I already discovered that earlier on as I still can&#039;t write a failing test. I made a diff between the code in the repository and the code from the blog and found that the post contained the following line:

if(null == oneValue &amp;&amp; null != otherValue)  return false;

while my repository contained:

if(null == oneValue &#124;&#124; null != otherValue)  return false;

The latter seems to fix this issue. Thx a lot for the feedback.</description>
		<content:encoded><![CDATA[<p>@Gustavo: You are right, there was a bug in there. I guess I already discovered that earlier on as I still can&#8217;t write a failing test. I made a diff between the code in the repository and the code from the blog and found that the post contained the following line:</p>
<p>if(null == oneValue &#038;&#038; null != otherValue)  return false;</p>
<p>while my repository contained:</p>
<p>if(null == oneValue || null != otherValue)  return false;</p>
<p>The latter seems to fix this issue. Thx a lot for the feedback.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gustavo Ringel</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-2/#comment-47585</link>
		<dc:creator>Gustavo Ringel</dc:creator>
		<pubDate>Sat, 11 Jul 2009 10:03:08 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-47585</guid>
		<description>Excuse me, i didn&#039;t subscribe to the comments and didn&#039;t pay attention you answered.
This arrives to an exception copying your code and writing in the main of a console app:

Tag cl1 = new Tag(null);
		Tag cl2 = new Tag(null);
		
		try
		{
			Console.WriteLine(cl1.Equals(cl2));
			Console.WriteLine(cl2.Equals(cl1));
		}
		catch (Exception ex)
		{
			Console.WriteLine(ex.ToString());
		}

With my change that doesn&#039;t fail</description>
		<content:encoded><![CDATA[<p>Excuse me, i didn&#8217;t subscribe to the comments and didn&#8217;t pay attention you answered.<br />
This arrives to an exception copying your code and writing in the main of a console app:</p>
<p>Tag cl1 = new Tag(null);<br />
		Tag cl2 = new Tag(null);</p>
<p>		try<br />
		{<br />
			Console.WriteLine(cl1.Equals(cl2));<br />
			Console.WriteLine(cl2.Equals(cl1));<br />
		}<br />
		catch (Exception ex)<br />
		{<br />
			Console.WriteLine(ex.ToString());<br />
		}</p>
<p>With my change that doesn&#8217;t fail</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Van Ryswyck</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-2/#comment-46994</link>
		<dc:creator>Jan Van Ryswyck</dc:creator>
		<pubDate>Wed, 17 Jun 2009 18:31:56 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-46994</guid>
		<description>@Gustavo: I tried writing a failing test, but the method doesn&#039;t fail. The line that follows the line of code you mentioned will deal with the otherValue being a null reference.</description>
		<content:encoded><![CDATA[<p>@Gustavo: I tried writing a failing test, but the method doesn&#8217;t fail. The line that follows the line of code you mentioned will deal with the otherValue being a null reference.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Van Ryswyck</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-1/#comment-46973</link>
		<dc:creator>Jan Van Ryswyck</dc:creator>
		<pubDate>Wed, 17 Jun 2009 05:24:32 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-46973</guid>
		<description>@Mihai: I thought I made myself clear that I didn&#039;t invent anything and that there are other people (Jimmy Bogard amongst others) who are doing this and have similar code. I&#039;m also not claiming any ownership of the pattern. I just wanted to share some code that might be helpful to others and maybe get some feedback in the process. Lighten up.</description>
		<content:encoded><![CDATA[<p>@Mihai: I thought I made myself clear that I didn&#8217;t invent anything and that there are other people (Jimmy Bogard amongst others) who are doing this and have similar code. I&#8217;m also not claiming any ownership of the pattern. I just wanted to share some code that might be helpful to others and maybe get some feedback in the process. Lighten up.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mihai Danila</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-1/#comment-46965</link>
		<dc:creator>Mihai Danila</dc:creator>
		<pubDate>Tue, 16 Jun 2009 18:40:24 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-46965</guid>
		<description>Quality of the code aside, I don&#039;t understand why others have stamped the idea of reflecting an object as belonging to this guy or that guy. Soon enough we&#039;re gonna see software patents on these things. I&#039;ve been using a similar pattern independently; heck, I actually reflect on the type upon type initialization, to cut some of the cost; Java has used dynabeans for a long time, but neither me nor the guys at Apache will claim co-authorship.

I guess this will slowly launch us in a frenzy of patenting our simplest bits of code on our blogs. It&#039;s a bit like the frenzy with Joel Spolsky&#039;s &quot;Law of Leaky Abstractions&quot; which is a piece of crap but I&#039;ve seen it quoted quite a few times. Suddenly, the stupidest of bloggers could claim they&#039;ve recognized a subtle law in some aspect of their work.

Look. The GoF didn&#039;t claim they invented the patterns. They but cataloged them. The DDD community shouldn&#039;t claim to have popularized the Value Object, except maybe to the .NET programmers. And this or that way of doing generic value objects aren&#039;t this or that guy&#039;s idea; they&#039;re age old by now, really.

Thanks for posting per my right to dissent and to keep our put into our less wary readers some sense of personality.</description>
		<content:encoded><![CDATA[<p>Quality of the code aside, I don&#8217;t understand why others have stamped the idea of reflecting an object as belonging to this guy or that guy. Soon enough we&#8217;re gonna see software patents on these things. I&#8217;ve been using a similar pattern independently; heck, I actually reflect on the type upon type initialization, to cut some of the cost; Java has used dynabeans for a long time, but neither me nor the guys at Apache will claim co-authorship.</p>
<p>I guess this will slowly launch us in a frenzy of patenting our simplest bits of code on our blogs. It&#8217;s a bit like the frenzy with Joel Spolsky&#8217;s &#8220;Law of Leaky Abstractions&#8221; which is a piece of crap but I&#8217;ve seen it quoted quite a few times. Suddenly, the stupidest of bloggers could claim they&#8217;ve recognized a subtle law in some aspect of their work.</p>
<p>Look. The GoF didn&#8217;t claim they invented the patterns. They but cataloged them. The DDD community shouldn&#8217;t claim to have popularized the Value Object, except maybe to the .NET programmers. And this or that way of doing generic value objects aren&#8217;t this or that guy&#8217;s idea; they&#8217;re age old by now, really.</p>
<p>Thanks for posting per my right to dissent and to keep our put into our less wary readers some sense of personality.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jan Van Ryswyck</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-1/#comment-46959</link>
		<dc:creator>Jan Van Ryswyck</dc:creator>
		<pubDate>Tue, 16 Jun 2009 14:30:44 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-46959</guid>
		<description>@Gustavo: Many thanks for your feedback. I&#039;ll be writing a failing test soon. :-)</description>
		<content:encoded><![CDATA[<p>@Gustavo: Many thanks for your feedback. I&#8217;ll be writing a failing test soon. <img src='http://elegantcode.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gustavo Ringel</title>
		<link>http://elegantcode.com/2009/06/07/generic-value-object/comment-page-1/#comment-46947</link>
		<dc:creator>Gustavo Ringel</dc:creator>
		<pubDate>Tue, 16 Jun 2009 08:48:06 +0000</pubDate>
		<guid isPermaLink="false">http://elegantcode.com/2009/06/07/generic-value-object/#comment-46947</guid>
		<description>Well, the previous comment should have started by saying i liked your work. I liked the static reflection here, and i took some parts of it. I just put attention on what a i previously commented.

Gustavo.</description>
		<content:encoded><![CDATA[<p>Well, the previous comment should have started by saying i liked your work. I liked the static reflection here, and i took some parts of it. I just put attention on what a i previously commented.</p>
<p>Gustavo.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
