<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx</link><description>While I did not write this, I totally agree with it. Brian Button is probably one of the most talented people I know, and I am sure he would love your feedback. 1) Singletons frequently are used to provide a global access point for some service. True,</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#140885</link><pubDate>Tue, 25 May 2004 03:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:140885</guid><dc:creator>Scott Allen</dc:creator><description>I agree singletons are the source of many problems that start in design and end in debugging. I certainly agree with point #1 and #4. As for #2, and #3, I don't find those points as convincing. I could be bastardizing the textbook definition or misunderstanding, but these points seem to imply a singleton needs to be a class with all static / shared fields and methods. I tend to think of a singleton along the lines of #2, whereby a factory returns the single instance of an object. The single object can be polymorphic which offers different implementations for the same contract established by a base class or interface. &lt;br&gt;&lt;br&gt;That being said, I’ve seen so many people in newsgroups run into problems with singletons. Many of these problems fall into point #1, whereby the problem they are solving really doesn’t need a singleton solution, but there are also threading issues to deal with, and figuring out what to do if the singleton creation process could throw is tricky. &lt;br&gt;&lt;br&gt;Could you post the links in a comment? </description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#140918</link><pubDate>Tue, 25 May 2004 04:45:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:140918</guid><dc:creator>Scott Densmore</dc:creator><description>#2 is saying Singlton is managing a resource and a factory or builder is a better &amp;quot;true&amp;quot; option for how to create a object.  #3 means that everytime you use a singlton in some other class you are not tied to that singleton and everyone who uses it... and that is same problem with globals. In todays new SO environment and given that one of testings principles is isolation, tying everone to that one singleton smells bad.  Singletons have there place I am sure, just not sure I have ever come across a need for one.&lt;br&gt;&lt;br&gt;And what links do you want me to post?</description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#140929</link><pubDate>Tue, 25 May 2004 05:11:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:140929</guid><dc:creator>damien morton</dc:creator><description>Singletons are a great temptation, as are static classes with public methods and private state.&lt;br&gt;&lt;br&gt;I havent put this into practice yet, but I have a feeling that the IServiceProvider constellation of interfaces is a good approach to handling singletons, at least, it seems that it might be the solution in the MVC code ive been working on.</description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#141004</link><pubDate>Tue, 25 May 2004 08:38:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:141004</guid><dc:creator>Roaan Vos</dc:creator><description>I like singletons and thus can't say I agreee with everything that's been said. As with everything misusing something does make it seem evil, but used correctly it does not have to be.&lt;br&gt;Personally I see a singleton as a resource. E.g. Let's assume I'm accessing one database and have a singleton allowing all access to the database. Isn't this singleton better than having to pass a &amp;quot;database&amp;quot; class all over the code. Come to think of it, it might actaully lead to &amp;quot;looser&amp;quot; coupling since the method/class that needs access to the database can access the singleton without relying on other methods/classes having to pass the &amp;quot;database&amp;quot; object. Having the &amp;quot;database&amp;quot; class in the method signature actually tightly couples everyone to this implementation.&lt;br&gt;To clarify. Let's once again assume I have a class called &amp;quot;UserInfo&amp;quot; that loads user information. We have 4 options. &lt;br&gt;1) The &amp;quot;database&amp;quot; class is passed in the constructor.&lt;br&gt;2) The &amp;quot;database&amp;quot; class is passed to every method in &amp;quot;UserInfo&amp;quot;&lt;br&gt;3) The &amp;quot;UserInfo&amp;quot; can have an internal &amp;quot;Database&amp;quot;  member variable which has to be instantiated everytime a &amp;quot;UserInfo&amp;quot; class is created. (I.e. configured etc)&lt;br&gt;4) The &amp;quot;UserInfo&amp;quot; has access to the &amp;quot;Database&amp;quot; singleton&lt;br&gt;&lt;br&gt;Options (1) and (2) all mean that whoever wants to use the &amp;quot;UserInfo&amp;quot; class must pass the &amp;quot;Database&amp;quot; instance and in the process tightens coupling.&lt;br&gt;Option (3) looks ok except that the &amp;quot;Database&amp;quot; class has to be reconfigured for every instance of &amp;quot;UserInfo&amp;quot;&lt;br&gt;&lt;br&gt;Having &amp;quot;UserInfo&amp;quot; manage access to the database (either via (3) or (4)) means &amp;quot;UserInfo&amp;quot; can be seen as a standalone component that is reusable by other applications.</description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#141259</link><pubDate>Tue, 25 May 2004 14:03:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:141259</guid><dc:creator>Brian Button</dc:creator><description>This idea of using a singleton to access a database whereever it is needed is the &amp;quot;singleton as global variable&amp;quot; antipattern Scott wrote about above. The main two problems I have with it are that it directly couples code to the singleton object, and it does it in a hidden way. I prefer to make dependencies between classes obvious through method signatures, if at all possible. This lets me understand a design better without having to look through the code.&lt;br&gt;&lt;br&gt;The point about tightly coupling everyone to a database implementation is not entirely correct. It does couple everyone to a database interface, but it does *not* couple them to an implementation. The interface is passed where it is needed, and I can override the interface very simply to provide one-off testing implementations of it for my unit tests.&lt;br&gt;&lt;br&gt;If I find myself having an object that is passed all over my code, that is not a sign to me to make that object into a singleton. It is a hint, taken from my code, that there is a different way I could have partitioned my system to avoid that piece of data becoming a tramp. I try to change the design for the better rather than introduce a global variable.&lt;br&gt;&lt;br&gt;Roaan, is everything you said above equally valid if you replace &amp;quot;singleton&amp;quot; with &amp;quot;global variable&amp;quot;?</description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#141330</link><pubDate>Tue, 25 May 2004 15:25:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:141330</guid><dc:creator>Mikhail Arkhipov (MSFT)</dc:creator><description>#1 is inevitable when your system consists of tons of services (as in tens and even hundreds). Passing them around is plain impossible, you end up with too many parameters, most of them unused (methods will be passing most of its parameters to other methods without using them). &lt;br&gt;&lt;br&gt;Alternatively, you may add a bunch of Get methods to other object intefaces in an attempt to let objects get to the service so when A needs B but only has C, it will call C::get_D, then D::get_E and then E::get_B. &lt;br&gt;&lt;br&gt;Difference from global variable is very simple and described in patterns books: you cannot modify the object. Nothing is wrong with const global variable (read: #define). &lt;br&gt;&lt;br&gt;BTW, it is much easier to refactor code with QueryService calls vs one that passes everythign around. If you don't want code to be talking to service provider, don't give service provider to it. </description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#141398</link><pubDate>Tue, 25 May 2004 16:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:141398</guid><dc:creator>Roaan Vos</dc:creator><description>I would not replace singleton with global variable. The reason is more personal. All my singletons are (almost completely) stateless. The only state they contain are generally configuration settings.&lt;br&gt;&lt;br&gt;If I had to use global variables ;) I don't think this same restriction would apply. If the global variable had state, I would never use it. If it is stateless then I can see how global variable and singleton could be seen as the same.  The problem with global variables is not that they are global, but rather the fact that anyone can change their state.&lt;br&gt;&lt;br&gt;If classes use singletons, I think it is much easier changing/replacing the singleton than replacing all method signatures in a call stack etc.&lt;br&gt;&lt;br&gt;PS. How about this as food for thought. What would the general comment be if I said in essence SOA's are singletons</description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#141420</link><pubDate>Tue, 25 May 2004 16:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:141420</guid><dc:creator>Brian Button</dc:creator><description>Mikhail,&lt;br&gt;&lt;br&gt;#define and const global variables are very different things. #defines do not introduce dependencies on classes, whereas variables do. I don't understand how the cases are parallel. &lt;br&gt;&lt;br&gt;As far as your other points about having a system  with many services, I fear that our coding styles may be different. I definitely tend towards lots of small, special purpose classes, which usually means that one class needs a very small number of services. I don't run into the situation where one class needs to know about the entire rest of the world. And when I do, I take that as a hint from the code that the design is not as good as it could be, and I make it better.&lt;br&gt;&lt;br&gt;Whether you pass the objects in or use a global method of accessing them, that module is still very tightly coupled to the entire rest of your system, and is entirely untestable at the unit level.</description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#141512</link><pubDate>Tue, 25 May 2004 17:54:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:141512</guid><dc:creator>Brian Button</dc:creator><description>Roaan,&lt;br&gt;&lt;br&gt;That's an interseting point you raised about SOAs. In essence, I agree with you on that. Once again, I prefer to find a way to make their presence known, and to limit their reach into the rest of my code, as with singletons. &lt;br&gt;&lt;br&gt;The issue I try to mitigate when faced with a static dependency like this is the tight coupling that this puts onto any code that calls this. Since singletons, statics, and SOAs are all direct dependencies, without the benefit of an interface on top of them, I always try to interpose a shim class over them. I create an interface for that class, and then I can use a special testing version of that class during unit testing, so I don't have to access the network, set up a server, etc. The downside of this is that I then do have to pass that service around to where it is needed. In my mind, though, that just makes public a dependency that was already there.&lt;br&gt;&lt;br&gt;Most of the complexity I end up adding to systems I do to make the final system more unit-testable. I find that the act of doing this also takes me down other good roads, like forcing my code to be more modular, eliminating spiderwebs of dependencies, and things like that. All Good Things (TM).</description></item><item><title>re: Why Singletons are Evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#141689</link><pubDate>Tue, 25 May 2004 20:41:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:141689</guid><dc:creator>Scott Densmore</dc:creator><description>Mikhail, &lt;br&gt;I aggree with you on that. I am assuming you are talking about Visual Studio with QueryService.  I think this is a good way to use singltons, and the cool thing about this is I really don't know that I am using one as far as the service is concerned.  I guess this might also be concidered as a facade into my service (whatever that might be), and I agree with this approach. Of course I love Visual Studio so I guess the QueryService part does not bother me. :). Thanks for the feedback.</description></item><item><title>Singletons are not evil</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#142916</link><pubDate>Thu, 27 May 2004 09:39:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:142916</guid><dc:creator>public MattBerther : ISerializable</dc:creator><description>Scott Densmore has an interesting post regarding singletons and why he thinks they are evil. I'd like to go through his points one by one and add my thoughts: Singletons frequently are used to provide a global access point for...</description></item><item><title>Button's Law of Design Maturity</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#216286</link><pubDate>Wed, 18 Aug 2004 06:23:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:216286</guid><dc:creator>Brian Button - One Agile Coder</dc:creator><description>Button's Law of Design Maturity</description></item><item><title>More on singletons and testing</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#218087</link><pubDate>Sat, 21 Aug 2004 05:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:218087</guid><dc:creator>C#deSamurai</dc:creator><description /></item><item><title>Button's Law of Design Maturity</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#376362</link><pubDate>Sat, 19 Feb 2005 02:01:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:376362</guid><dc:creator>.Text Blog</dc:creator><description /></item><item><title>Pointer to posts mentioned in my webcast</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#394851</link><pubDate>Sun, 13 Mar 2005 16:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:394851</guid><dc:creator>Brian Button - One Agile Coder</dc:creator><description /></item><item><title>re: Singleton</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#471151</link><pubDate>Mon, 19 Sep 2005 12:03:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:471151</guid><dc:creator>FoxyBlog</dc:creator><description /></item><item><title>  How to Decontaminate a Singleton at  rain.webs Blog: Springsteam</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#1289266</link><pubDate>Fri, 15 Dec 2006 02:49:29 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1289266</guid><dc:creator>  How to Decontaminate a Singleton at  rain.webs Blog: Springsteam</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.rainer.eschen.name/2006/12/15/how-to-decontaminate-a-singleton/"&gt;http://blog.rainer.eschen.name/2006/12/15/how-to-decontaminate-a-singleton/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Andres&amp;#8217; thoughts &amp;raquo; Finding coupled code</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#1567642</link><pubDate>Thu, 01 Feb 2007 01:19:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1567642</guid><dc:creator>Andres’ thoughts » Finding coupled code</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.taylor.se/blog/2006/02/01/finding-coupled-code/"&gt;http://www.taylor.se/blog/2006/02/01/finding-coupled-code/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Eli Lopian&amp;#8217;s Blog (TypeMock)  &amp;raquo; Blog Archive   &amp;raquo; Evil Singleton Mocking with Natural&amp;trade; Mocks</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#1770661</link><pubDate>Wed, 28 Feb 2007 00:12:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1770661</guid><dc:creator>Eli Lopian’s Blog (TypeMock)  » Blog Archive   » Evil Singleton Mocking with Natural™ Mocks</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.elilopian.com/2007/02/19/evil-singleton-mocking-with-natural-mocks/"&gt;http://www.elilopian.com/2007/02/19/evil-singleton-mocking-with-natural-mocks/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Antipatrones de dise??o &amp;laquo; Complejidad Ciclom??tica</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#2866522</link><pubDate>Fri, 25 May 2007 13:29:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:2866522</guid><dc:creator>Antipatrones de dise??o « Complejidad Ciclom??tica</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://complejidad.wordpress.com/2007/05/25/antipatrones-de-diseno/"&gt;http://complejidad.wordpress.com/2007/05/25/antipatrones-de-diseno/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Software As She&amp;#8217;s Developed  &amp;raquo; Blog Archive   &amp;raquo; The only thing wrong with GoF Design Patterns is &amp;#8230;</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#4052453</link><pubDate>Thu, 26 Jul 2007 03:32:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4052453</guid><dc:creator>Software As She’s Developed  » Blog Archive   » The only thing wrong with GoF Design Patterns is …</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.softwareas.com/the-only-thing-wrong-with-gof-design-patterns-is"&gt;http://www.softwareas.com/the-only-thing-wrong-with-gof-design-patterns-is&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>learn spanish free online course</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#4898732</link><pubDate>Thu, 13 Sep 2007 22:54:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4898732</guid><dc:creator>learn spanish free online course</dc:creator><description>&lt;p&gt;learn spanish free online course&lt;/p&gt;
</description></item><item><title>hide comments friends myspace code</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#4973900</link><pubDate>Tue, 18 Sep 2007 11:19:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:4973900</guid><dc:creator>hide comments friends myspace code</dc:creator><description>&lt;p&gt;hide comments friends myspace code&lt;/p&gt;
</description></item><item><title>nwebb.co.uk &amp;raquo; Blog Archive  &amp;raquo; Using Cairngorm &amp;#038; Thoughts On Handling Those Pesky Singletons</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#8385337</link><pubDate>Sat, 12 Apr 2008 17:31:42 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8385337</guid><dc:creator>nwebb.co.uk &amp;raquo; Blog Archive  &amp;raquo; Using Cairngorm &amp;#038; Thoughts On Handling Those Pesky Singletons</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://nwebb.co.uk/blog/?p=168"&gt;http://nwebb.co.uk/blog/?p=168&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Beginning with Singleton .Instance Peekaboo, and Ending Up with Why Singleton At All?</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#8434959</link><pubDate>Mon, 28 Apr 2008 12:25:24 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8434959</guid><dc:creator>Incoherent Rambling</dc:creator><description>&lt;p&gt;I know the title of this post is weird, but just bear with me a moment... Often time I found myself writing&lt;/p&gt;
</description></item><item><title>Singletons Are Good &amp;laquo; SoftestPawn&amp;#8217;s Weblog</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#8559825</link><pubDate>Thu, 29 May 2008 22:37:19 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8559825</guid><dc:creator>Singletons Are Good &amp;laquo; SoftestPawn&amp;#8217;s Weblog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://softestpawn.wordpress.com/2008/05/29/singletons-are-good/"&gt;http://softestpawn.wordpress.com/2008/05/29/singletons-are-good/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Design Patterns - A deep dive 3</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#8703360</link><pubDate>Mon, 07 Jul 2008 21:22:01 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8703360</guid><dc:creator>IT.Wox, always</dc:creator><description>&lt;p&gt;Design Patterns - A deep dive 3&lt;/p&gt;
</description></item><item><title>An ActionScript Singleton &amp;laquo; flexdesigner</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#8903010</link><pubDate>Thu, 28 Aug 2008 10:39:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8903010</guid><dc:creator>An ActionScript Singleton &amp;laquo; flexdesigner</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://flexdesigner.wordpress.com/2008/08/28/an-actionscript-singleton/"&gt;http://flexdesigner.wordpress.com/2008/08/28/an-actionscript-singleton/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Design Patterns are not from Hell &amp;laquo; Teh Grumpy Dude&amp;#8217;s Weblog</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#8936430</link><pubDate>Tue, 09 Sep 2008 14:55:57 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8936430</guid><dc:creator>Design Patterns are not from Hell &amp;laquo; Teh Grumpy Dude&amp;#8217;s Weblog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://tehgrumpydude.wordpress.com/2008/09/09/design-patterns-are-not-from-hell/"&gt;http://tehgrumpydude.wordpress.com/2008/09/09/design-patterns-are-not-from-hell/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>ANT script good practices - few thoughts &amp;laquo; Piotr Gabryanczyk&amp;#8217;s Blog</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#8952501</link><pubDate>Mon, 15 Sep 2008 15:44:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8952501</guid><dc:creator>ANT script good practices - few thoughts &amp;laquo; Piotr Gabryanczyk&amp;#8217;s Blog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://piotrga.wordpress.com/2008/09/15/ant-script-good-practices-few-thoughts/"&gt;http://piotrga.wordpress.com/2008/09/15/ant-script-good-practices-few-thoughts/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Singleton I love you, but you're bringing me down | // Coding Without Comments</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#8992368</link><pubDate>Thu, 09 Oct 2008 05:58:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8992368</guid><dc:creator>Singleton I love you, but you're bringing me down | // Coding Without Comments</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.codingwithoutcomments.com/2008/10/08/singleton-i-love-you-but-youre-bringing-me-down/"&gt;http://www.codingwithoutcomments.com/2008/10/08/singleton-i-love-you-but-youre-bringing-me-down/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>
		  The Curse of the Singleton &amp;laquo; Infovark Underground	</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9125063</link><pubDate>Wed, 19 Nov 2008 20:17:43 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9125063</guid><dc:creator>
		  The Curse of the Singleton &amp;laquo; Infovark Underground	</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://underground.infovark.com/2008/11/19/the-curse-of-the-singleton/"&gt;http://underground.infovark.com/2008/11/19/the-curse-of-the-singleton/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>The Sharendipity Blog &amp;raquo; Simple Pseudo-threading in ActionScript</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9237374</link><pubDate>Thu, 18 Dec 2008 23:15:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9237374</guid><dc:creator>The Sharendipity Blog &amp;raquo; Simple Pseudo-threading in ActionScript</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.sharendipity.com/simple-actionscript-pseudo-threads"&gt;http://blog.sharendipity.com/simple-actionscript-pseudo-threads&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>  Uzaya Roket G??ndermiyoruz ki, Yap Gitsin Yahu! &amp;raquo; Don Ki??ot</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9255405</link><pubDate>Mon, 29 Dec 2008 09:54:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9255405</guid><dc:creator>  Uzaya Roket G??ndermiyoruz ki, Yap Gitsin Yahu! &amp;raquo; Don Ki??ot</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.fikribol.com/donkisot/?p=113"&gt;http://www.fikribol.com/donkisot/?p=113&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Frage zu UnitTests in VS 2008 | hilpers</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9337678</link><pubDate>Sun, 18 Jan 2009 13:47:59 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9337678</guid><dc:creator>Frage zu UnitTests in VS 2008 | hilpers</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.hilpers.com/1174751-frage-zu-unittests-in-vs"&gt;http://www.hilpers.com/1174751-frage-zu-unittests-in-vs&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>C#: Pattern Singleton - Zaragon blog</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9457683</link><pubDate>Wed, 04 Mar 2009 01:56:09 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9457683</guid><dc:creator>C#: Pattern Singleton - Zaragon blog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.adrweb.net/2009/01/27/c-pattern-singleton/"&gt;http://blog.adrweb.net/2009/01/27/c-pattern-singleton/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>The Grimoire   &amp;raquo; Singled Out</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9469986</link><pubDate>Wed, 11 Mar 2009 05:28:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9469986</guid><dc:creator>The Grimoire   &amp;raquo; Singled Out</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://codex.grimoire.ca/2009/03/10/singled-out/"&gt;http://codex.grimoire.ca/2009/03/10/singled-out/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>New Adventures in Software &amp;raquo; Random Number Generators: There should be only one</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9515127</link><pubDate>Sat, 28 Mar 2009 01:15:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9515127</guid><dc:creator>New Adventures in Software &amp;raquo; Random Number Generators: There should be only one</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://blog.uncommons.org/2009/01/11/random-number-generators-there-should-be-only-one/"&gt;http://blog.uncommons.org/2009/01/11/random-number-generators-there-should-be-only-one/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>What&amp;rsquo;s wrong with Singleton? &amp;laquo; Hoa Chau&amp;#8217;s weblog</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9556331</link><pubDate>Mon, 20 Apr 2009 10:10:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9556331</guid><dc:creator>What&amp;rsquo;s wrong with Singleton? &amp;laquo; Hoa Chau&amp;#8217;s weblog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://hoachau.wordpress.com/2009/04/20/whats-wrong-with-singleton/"&gt;http://hoachau.wordpress.com/2009/04/20/whats-wrong-with-singleton/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Stupid evil cancerous liars, I hate you! &amp;laquo;  Luke Halliwell&amp;#8217;s Weblog</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9564584</link><pubDate>Thu, 23 Apr 2009 14:51:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9564584</guid><dc:creator>Stupid evil cancerous liars, I hate you! &amp;laquo;  Luke Halliwell&amp;#8217;s Weblog</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://lukehalliwell.wordpress.com/2009/04/23/stupid-evil-cancerous-liars-i-hate-you/"&gt;http://lukehalliwell.wordpress.com/2009/04/23/stupid-evil-cancerous-liars-i-hate-you/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title> Being Scott Densmore Why Singletons are Evil | Cast Iron Cookware</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9692403</link><pubDate>Wed, 03 Jun 2009 22:47:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9692403</guid><dc:creator> Being Scott Densmore Why Singletons are Evil | Cast Iron Cookware</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://castironbakeware.info/story.php?title=being-scott-densmore-why-singletons-are-evil"&gt;http://castironbakeware.info/story.php?title=being-scott-densmore-why-singletons-are-evil&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>You’re Not Your Data Access</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9729436</link><pubDate>Fri, 12 Jun 2009 06:51:48 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9729436</guid><dc:creator>Rob Conery</dc:creator><description>&lt;p&gt;Seems I touched off a bit of a “swirl” with a comment I made on my last blog post: I think, in general&lt;/p&gt;
</description></item><item><title>You???re Not Your Data Access</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9733658</link><pubDate>Fri, 12 Jun 2009 15:04:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9733658</guid><dc:creator>You???re Not Your Data Access</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://buildesignwebsite.com/you%e2%80%99re-not-your-data-access/"&gt;http://buildesignwebsite.com/you%e2%80%99re-not-your-data-access/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>You???re Not Your Data Access</title><link>http://blogs.msdn.com/scottdensmore/archive/2004/05/25/140827.aspx#9734773</link><pubDate>Fri, 12 Jun 2009 17:03:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9734773</guid><dc:creator>You???re Not Your Data Access</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://buildesignwebsite.com/you%e2%80%99re-not-your-data-access-2/"&gt;http://buildesignwebsite.com/you%e2%80%99re-not-your-data-access-2/&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>