<?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: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>Comments on: Visitor Pattern: A Real World Example</title>
	<atom:link href="http://blog.coreycoogan.com/2009/06/16/visitor-pattern-real-world-example/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.coreycoogan.com/2009/06/16/visitor-pattern-real-world-example/</link>
	<description>Python, .Net, C#, ASP.NET MVC, Architecture and Design</description>
	<lastBuildDate>Tue, 07 Feb 2012 04:33:49 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
	<item>
		<title>By: coreycoogan</title>
		<link>http://blog.coreycoogan.com/2009/06/16/visitor-pattern-real-world-example/#comment-365</link>
		<dc:creator><![CDATA[coreycoogan]]></dc:creator>
		<pubDate>Tue, 31 Jan 2012 13:06:48 +0000</pubDate>
		<guid isPermaLink="false">http://blog.coreycoogan.com/?p=76#comment-365</guid>
		<description><![CDATA[I would avoid implementing an interface and then not implementing them.  This is a violation of the &lt;a href=&quot;http://www.objectmentor.com/publications/isp.pdf&quot; title=&quot;Uncle Bob&#039;s Explanation (PDF)&quot; rel=&quot;nofollow&quot;&gt;Interface Segregation Principal&lt;/a&gt;, which states that a classes should depend on the smallest possible interface.

You could potentially use the &lt;a href=&quot;http://en.wikipedia.org/wiki/Strategy_pattern&quot; rel=&quot;nofollow&quot;&gt;Strategy pattern&lt;/a&gt; and define which strategy is going to be used at runtime.  Then you know you are calling on only the strategy implementation you need.]]></description>
		<content:encoded><![CDATA[<p>I would avoid implementing an interface and then not implementing them.  This is a violation of the <a href="http://www.objectmentor.com/publications/isp.pdf" title="Uncle Bob's Explanation (PDF)" rel="nofollow">Interface Segregation Principal</a>, which states that a classes should depend on the smallest possible interface.</p>
<p>You could potentially use the <a href="http://en.wikipedia.org/wiki/Strategy_pattern" rel="nofollow">Strategy pattern</a> and define which strategy is going to be used at runtime.  Then you know you are calling on only the strategy implementation you need.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Fathom Savvy</title>
		<link>http://blog.coreycoogan.com/2009/06/16/visitor-pattern-real-world-example/#comment-364</link>
		<dc:creator><![CDATA[Fathom Savvy]]></dc:creator>
		<pubDate>Tue, 31 Jan 2012 01:10:40 +0000</pubDate>
		<guid isPermaLink="false">http://blog.coreycoogan.com/?p=76#comment-364</guid>
		<description><![CDATA[Thanks for the Article!  It was enough to make me realize rhat the pattern is designed to be used with Polymorphic classes.  You setup the interface so that it has a Visit method for each of the derived classes.  Then you can create any class (implementing the interface) to do whatever you want with each of the derived classes.  So I&#039;m thinking you&#039;d only want to use the visitor pattern if you have a need for one class to use all of the derived classes.  If the class in question only used 1 of the derived classes, then a different pattern would be called for.  Right?  Or would you use the visitor pattern and throw NotSupportedExceptions for the derived classes that have no importance or could be used by mistake.]]></description>
		<content:encoded><![CDATA[<p>Thanks for the Article!  It was enough to make me realize rhat the pattern is designed to be used with Polymorphic classes.  You setup the interface so that it has a Visit method for each of the derived classes.  Then you can create any class (implementing the interface) to do whatever you want with each of the derived classes.  So I&#8217;m thinking you&#8217;d only want to use the visitor pattern if you have a need for one class to use all of the derived classes.  If the class in question only used 1 of the derived classes, then a different pattern would be called for.  Right?  Or would you use the visitor pattern and throw NotSupportedExceptions for the derived classes that have no importance or could be used by mistake.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: coreycoogan</title>
		<link>http://blog.coreycoogan.com/2009/06/16/visitor-pattern-real-world-example/#comment-11</link>
		<dc:creator><![CDATA[coreycoogan]]></dc:creator>
		<pubDate>Wed, 17 Jun 2009 13:50:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.coreycoogan.com/?p=76#comment-11</guid>
		<description><![CDATA[Thanks Keith, good idea about the series.  I&#039;ll have to check into the &quot;discoverable&quot; thing which I assume to be Google Blog Search, although I see traffic coming from Google searches already so I know it&#039;s being indexed.  That&#039;s a benefit of being on WordPress -  you can leverage that huge presence to get good rankings.

I&#039;m high on the first page for these searches, which I learned by seeing traffic come in on those terms.  This is amazing because this blog is so young.  Yay WordPress!

http://www.google.com/search?hl=en&amp;client=firefox-a&amp;rls=org.mozilla%3Aen-US%3Aofficial&amp;hs=MAb&amp;q=big+design+up+front+BDUF&amp;aq=f&amp;oq=&amp;aqi=

http://www.google.com/search?hl=en&amp;client=firefox-a&amp;rls=org.mozilla%3Aen-US%3Aofficial&amp;hs=cAb&amp;q=mocking+datetime&amp;aq=f&amp;oq=&amp;aqi=]]></description>
		<content:encoded><![CDATA[<p>Thanks Keith, good idea about the series.  I&#8217;ll have to check into the &#8220;discoverable&#8221; thing which I assume to be Google Blog Search, although I see traffic coming from Google searches already so I know it&#8217;s being indexed.  That&#8217;s a benefit of being on WordPress &#8211;  you can leverage that huge presence to get good rankings.</p>
<p>I&#8217;m high on the first page for these searches, which I learned by seeing traffic come in on those terms.  This is amazing because this blog is so young.  Yay WordPress!</p>
<p><a href="http://www.google.com/search?hl=en&#038;client=firefox-a&#038;rls=org.mozilla%3Aen-US%3Aofficial&#038;hs=MAb&#038;q=big+design+up+front+BDUF&#038;aq=f&#038;oq=&#038;aqi" rel="nofollow">http://www.google.com/search?hl=en&#038;client=firefox-a&#038;rls=org.mozilla%3Aen-US%3Aofficial&#038;hs=MAb&#038;q=big+design+up+front+BDUF&#038;aq=f&#038;oq=&#038;aqi</a>=</p>
<p><a href="http://www.google.com/search?hl=en&#038;client=firefox-a&#038;rls=org.mozilla%3Aen-US%3Aofficial&#038;hs=cAb&#038;q=mocking+datetime&#038;aq=f&#038;oq=&#038;aqi" rel="nofollow">http://www.google.com/search?hl=en&#038;client=firefox-a&#038;rls=org.mozilla%3Aen-US%3Aofficial&#038;hs=cAb&#038;q=mocking+datetime&#038;aq=f&#038;oq=&#038;aqi</a>=</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: DotNetDevDude</title>
		<link>http://blog.coreycoogan.com/2009/06/16/visitor-pattern-real-world-example/#comment-10</link>
		<dc:creator><![CDATA[DotNetDevDude]]></dc:creator>
		<pubDate>Wed, 17 Jun 2009 12:36:30 +0000</pubDate>
		<guid isPermaLink="false">http://blog.coreycoogan.com/?p=76#comment-10</guid>
		<description><![CDATA[Corey,
Nice example!  I could see this being a monthly series...&quot;Design Pattern Examples In The Real World!&quot;...I would read it.

FYI.  You should get your blog more &quot;discoverable&quot;.  Go out to Google and get it signed up so there bot can find and process it.

DotNetDevDude]]></description>
		<content:encoded><![CDATA[<p>Corey,<br />
Nice example!  I could see this being a monthly series&#8230;&#8221;Design Pattern Examples In The Real World!&#8221;&#8230;I would read it.</p>
<p>FYI.  You should get your blog more &#8220;discoverable&#8221;.  Go out to Google and get it signed up so there bot can find and process it.</p>
<p>DotNetDevDude</p>
]]></content:encoded>
	</item>
</channel>
</rss>

