<?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"
	>
<channel>
	<title>Comments on: Dealing with Dependencies</title>
	<atom:link href="http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/</link>
	<description></description>
	<pubDate>Fri, 25 Jul 2008 06:08:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Tony Marston</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631412</link>
		<dc:creator>Tony Marston</dc:creator>
		<pubDate>Sun, 10 Feb 2008 09:39:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631412</guid>
		<description>So what am I wrong about? Singletons? Polymorphism? The fact that the use of the word "dependency" is this article not correct?

Your definition of polymorphism does not agree with the one at http://en.wikipedia.org/wiki/Polymorphism_(computer_science), so what makes you think that you are so right?

Polymorphism is the ability to use the same methods on different objects, not about extending the same object.

The use of a singleton has no effect on polymorphism.

The use of a singleton does not constitute a dependency.</description>
		<content:encoded><![CDATA[<p>So what am I wrong about? Singletons? Polymorphism? The fact that the use of the word &#8220;dependency&#8221; is this article not correct?</p>
<p>Your definition of polymorphism does not agree with the one at <a href="http://en.wikipedia.org/wiki/Polymorphism_" rel="nofollow">http://en.wikipedia.org/wiki/Polymorphism_</a>(computer_science), so what makes you think that you are so right?</p>
<p>Polymorphism is the ability to use the same methods on different objects, not about extending the same object.</p>
<p>The use of a singleton has no effect on polymorphism.</p>
<p>The use of a singleton does not constitute a dependency.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: blueyon</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631242</link>
		<dc:creator>blueyon</dc:creator>
		<pubDate>Sun, 10 Feb 2008 00:32:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631242</guid>
		<description>This comment has been removed by the site administrator</description>
		<content:encoded><![CDATA[<p>This comment has been removed by the site administrator</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Marston</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631201</link>
		<dc:creator>Tony Marston</dc:creator>
		<pubDate>Sat, 09 Feb 2008 22:12:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631201</guid>
		<description>By arguing against my point of view you are effectively joining forces with everyone else who is arguing against my point of view. You said:
&lt;blockquote&gt;
Polymorphism is about extending a object and adding more functionality to it.&lt;/blockquote&gt;
That is wrong. Polymorphism is not about extending an object, it is about extending a superclass into a subclass from which a new object can be created.</description>
		<content:encoded><![CDATA[<p>By arguing against my point of view you are effectively joining forces with everyone else who is arguing against my point of view. You said:</p>
<blockquote><p>
Polymorphism is about extending a object and adding more functionality to it.</p></blockquote>
<p>That is wrong. Polymorphism is not about extending an object, it is about extending a superclass into a subclass from which a new object can be created.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: blueyon</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631191</link>
		<dc:creator>blueyon</dc:creator>
		<pubDate>Sat, 09 Feb 2008 21:48:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631191</guid>
		<description>No I did not say that!

Check the names above the post it was Shrike who said it!</description>
		<content:encoded><![CDATA[<p>No I did not say that!</p>
<p>Check the names above the post it was Shrike who said it!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Marston</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631168</link>
		<dc:creator>Tony Marston</dc:creator>
		<pubDate>Sat, 09 Feb 2008 21:06:01 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631168</guid>
		<description>You said (and I quote):
&lt;blockquote&gt;
the Singleton object cannot be runtime polymorphic because you have referred directly to a classname rather than an object instance.
&lt;/blockquote&gt;
An object is not polymorphic, but an object's methods can be. Polymorphism is about several objects sharing common method names. How those objects are instantiated, whether via a singleton or not, has absolutely nothing to do with polymorphism.

I repeat, polymorphism and singletons are unrelated, are independent of each other, so for you to say that an object which is instantiated via a singleton cannot be polymorphic is completely wrong.</description>
		<content:encoded><![CDATA[<p>You said (and I quote):</p>
<blockquote><p>
the Singleton object cannot be runtime polymorphic because you have referred directly to a classname rather than an object instance.
</p></blockquote>
<p>An object is not polymorphic, but an object&#8217;s methods can be. Polymorphism is about several objects sharing common method names. How those objects are instantiated, whether via a singleton or not, has absolutely nothing to do with polymorphism.</p>
<p>I repeat, polymorphism and singletons are unrelated, are independent of each other, so for you to say that an object which is instantiated via a singleton cannot be polymorphic is completely wrong.</p>]]></content:encoded>
	</item>
	<item>
		<title>By: blueyon</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631146</link>
		<dc:creator>blueyon</dc:creator>
		<pubDate>Sat, 09 Feb 2008 20:24:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631146</guid>
		<description>You must be seeing things.

This is what was said:

&lt;em&gt;Polymorphism is about extending a object and adding more functionality to it.&lt;/em&gt;</description>
		<content:encoded><![CDATA[<p>You must be seeing things.</p>
<p>This is what was said:</p>
<p><em>Polymorphism is about extending a object and adding more functionality to it.</em></p>]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Marston</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631140</link>
		<dc:creator>Tony Marston</dc:creator>
		<pubDate>Sat, 09 Feb 2008 20:19:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631140</guid>
		<description>No, you said (and I quote):
&lt;blockquote&gt;
The whole frikkin’ point of polymorphism is that you are dealing with the same *object*, &lt;blockquote&gt;

I am not dealing with the same object, I am dealing with multiple objects which just happen to inherit from the same superclass. That does *not* make them the same object.&lt;/blockquote&gt;&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>No, you said (and I quote):</p>
<blockquote><p>
The whole frikkin’ point of polymorphism is that you are dealing with the same *object*,<br />
<blockquote>
<p>I am not dealing with the same object, I am dealing with multiple objects which just happen to inherit from the same superclass. That does *not* make them the same object.</p></blockquote>
</p></blockquote>]]></content:encoded>
	</item>
	<item>
		<title>By: blueyon</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631137</link>
		<dc:creator>blueyon</dc:creator>
		<pubDate>Sat, 09 Feb 2008 20:14:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631137</guid>
		<description>Tony: It’s about extending a base class to create subclasses


Thats what I said!</description>
		<content:encoded><![CDATA[<p>Tony: It’s about extending a base class to create subclasses</p>
<p>Thats what I said!</p>]]></content:encoded>
	</item>
	<item>
		<title>By: Tony Marston</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631135</link>
		<dc:creator>Tony Marston</dc:creator>
		<pubDate>Sat, 09 Feb 2008 20:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631135</guid>
		<description>blueyon: Polymorphism is about extending a object and adding more functionality to it.

me: No it isn't. It's about extending a base class to create subclasses, and hence different objects. This is "ad-hoc polymorphism", as described in http://en.wikipedia.org/wiki/Polymorphism_(computer_science)
&lt;blockquote&gt;
In OOP, ad-hoc polymorphism is generally supported through object inheritance, i.e., objects of different types may be treated uniformly as members of a common superclass.

blueyon: Using static methods seems to be the easy way out and is not OOP. You might as well just use a function.

me: It does not matter the singleton is implemented as a class or a function, it is still a singleton. Just because it is simple does not make it "not OOP". You seem to be one of these geeks who thinks that "proper" OOP has to be as complicated as possible, whereas I follow the KISS principle.

What I do may not be to your taste, but it does not make it "not OOP".&lt;/blockquote&gt;</description>
		<content:encoded><![CDATA[<p>blueyon: Polymorphism is about extending a object and adding more functionality to it.</p>
<p>me: No it isn&#8217;t. It&#8217;s about extending a base class to create subclasses, and hence different objects. This is &#8220;ad-hoc polymorphism&#8221;, as described in <a href="http://en.wikipedia.org/wiki/Polymorphism_" rel="nofollow">http://en.wikipedia.org/wiki/Polymorphism_</a>(computer_science)</p>
<blockquote><p>
In OOP, ad-hoc polymorphism is generally supported through object inheritance, i.e., objects of different types may be treated uniformly as members of a common superclass.</p>
<p>blueyon: Using static methods seems to be the easy way out and is not OOP. You might as well just use a function.</p>
<p>me: It does not matter the singleton is implemented as a class or a function, it is still a singleton. Just because it is simple does not make it &#8220;not OOP&#8221;. You seem to be one of these geeks who thinks that &#8220;proper&#8221; OOP has to be as complicated as possible, whereas I follow the KISS principle.</p>
<p>What I do may not be to your taste, but it does not make it &#8220;not OOP&#8221;.</p></blockquote>]]></content:encoded>
	</item>
	<item>
		<title>By: blueyon</title>
		<link>http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631118</link>
		<dc:creator>blueyon</dc:creator>
		<pubDate>Sat, 09 Feb 2008 19:16:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.sitepoint.com/blogs/2008/02/04/dealing-with-dependencies/#comment-631118</guid>
		<description>Polymorphism is about extending a object and adding more functionality to it.

It makes no differnce to use a real object and pass it around to objects that need it. You have to get used to how to pass the registry object around. 

Using static methods seems to be the easy way out and is not OOP. You might aswell just use a function.</description>
		<content:encoded><![CDATA[<p>Polymorphism is about extending a object and adding more functionality to it.</p>
<p>It makes no differnce to use a real object and pass it around to objects that need it. You have to get used to how to pass the registry object around. </p>
<p>Using static methods seems to be the easy way out and is not OOP. You might aswell just use a function.</p>]]></content:encoded>
	</item>
</channel>
</rss>
