<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-38895959.post2448044949574486223..comments</id><updated>2010-02-19T14:28:13.650Z</updated><category term='Personal'/><category term='Unit testing'/><category term='Visual Studio'/><category term='Mocking'/><category term='Windows 8'/><category term='SQL'/><category term='Unmanaged'/><category term='Selenium'/><category term='BizTalk'/><category term='Self signed certificate'/><category term='UI Testing'/><category term='WCF Data Services'/><category term='Security'/><category term='GDI'/><category term='SOA'/><category term='Distributed Source Control Systems'/><category term='Source Control Systems'/><category term='Codeplex'/><category term='Visual Studio 2010'/><category term='ADFSv2'/><category term='Team Build 2010'/><category term='ReSharper 6.0'/><category term='ALM'/><category term='Windows Server 2008 R2'/><category term='Git'/><category term='VM Role'/><category term='CQRS'/><category term='LINQ to Objects'/><category term='Links'/><category term='Coding Challenge'/><category term='SQL Server Desktop'/><category term='Windows Azure'/><category term='LINQ to SQL'/><category term='Windows 8 pre-beta'/><category term='Events'/><category term='BizTalk ESB Toolkit 2.1'/><category term='LWAUG'/><category term='Zune HD'/><category term='TFS 11'/><category term='Visual Studio .NET 2008'/><category term='Windows 7'/><category term='CSP'/><category term='LINQ'/><category term='Windows Vista'/><category term='Broadband'/><category term='Patterns and practices'/><category term='IoC'/><category term='ADDS'/><category term='User group'/><category term='TFS'/><category term='SQL Server CE'/><category term='MVP'/><category term='Silverlight for Mobile'/><category term='XML'/><category term='ADFS'/><category term='.NET Framework'/><category term='BizTalk 2010'/><category term='MSBuild'/><category term='Mobile and Embedded'/><category term='ASP.NET MVC 3'/><category term='C# 3.0'/><category term='Orcas'/><category term='ReSharper'/><category term='iPhone'/><category term='WCF'/><category term='TFS 2010'/><category term='Windows Phone 7 Series'/><category term='Microsoft CRM'/><category term='Fail over cluster'/><category term='VS2010'/><category term='Getting Started With WM'/><category term='Tools'/><category term='Netbooks'/><category term='Compact Framework'/><category term='XBOX 360'/><category term='WPF'/><category term='DHCP'/><category term='Speaking'/><category term='Silverlight'/><category term='Books'/><title type='text'>Comments on Simon Hart: Implementing the CommonServiceLocator on the Compa...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.simonrhart.com/feeds/2448044949574486223/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default'/><link rel='alternate' type='text/html' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html'/><author><name>Simon Hart</name><uri>http://www.blogger.com/profile/08526568682625258690</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_zq7uh-qGrLw/SBuKu52LWvI/AAAAAAAAAGs/id6kYLmhBpk/S220/MyMvpPhoto.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>4</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-38895959.post-4921814589059295536</id><published>2010-02-19T14:28:13.650Z</published><updated>2010-02-19T14:28:13.650Z</updated><title type='text'>Hi Daniel,

You need to do that anyway whether you...</title><content type='html'>Hi Daniel,&lt;br /&gt;&lt;br /&gt;You need to do that anyway whether you choose to use a service locator or not. This is a limitation of singleton factories - which is why people say they are hard to test. Of course not all factories are singletons!&lt;br /&gt;&lt;br /&gt;The common service locator is just another layer to setup.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Simon</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default/4921814589059295536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default/4921814589059295536'/><link rel='alternate' type='text/html' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html?showComment=1266589693650#c4921814589059295536' title=''/><author><name>Simon Hart</name><uri>http://www.blogger.com/profile/08526568682625258690</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_zq7uh-qGrLw/SBuKu52LWvI/AAAAAAAAAGs/id6kYLmhBpk/S220/MyMvpPhoto.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html' ref='tag:blogger.com,1999:blog-38895959.post-2448044949574486223' source='http://www.blogger.com/feeds/38895959/posts/default/2448044949574486223' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-651662130'/></entry><entry><id>tag:blogger.com,1999:blog-38895959.post-3422380794349639320</id><published>2010-02-19T06:01:26.351Z</published><updated>2010-02-19T06:01:26.351Z</updated><title type='text'>Hy Simon
With &amp;quot;injection of dependenies in si...</title><content type='html'>Hy Simon&lt;br /&gt;With &amp;quot;injection of dependenies in singleton&amp;quot; I meant the setup stage in your test where you need to exchange the dependencies in your service locator with mocks/stubs etc.&lt;br /&gt;&lt;br /&gt;Daniel</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default/3422380794349639320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default/3422380794349639320'/><link rel='alternate' type='text/html' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html?showComment=1266559286351#c3422380794349639320' title=''/><author><name>Daniel Marbach</name><uri>http://www.planetgeek.ch</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html' ref='tag:blogger.com,1999:blog-38895959.post-2448044949574486223' source='http://www.blogger.com/feeds/38895959/posts/default/2448044949574486223' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1557389315'/></entry><entry><id>tag:blogger.com,1999:blog-38895959.post-6164308215002744401</id><published>2010-02-19T05:35:16.027Z</published><updated>2010-02-19T05:35:16.027Z</updated><title type='text'>Hi Daniel,

The CSL is really about abstracting th...</title><content type='html'>Hi Daniel,&lt;br /&gt;&lt;br /&gt;The CSL is really about abstracting the IoC container from client code where DI is not possible. For example factory classes or singletons not all classes are added to the container so can&amp;#39;t be injected.&lt;br /&gt;&lt;br /&gt;Yes this makes TDD slightly more difficult in that it is an extra layer of stuff to setup before testing can be done but it&amp;#39;s not that painful. Not sure what you mean by &amp;quot;injection of dependenies in singleton?&amp;quot; &lt;br /&gt;&lt;br /&gt;ninject is very heavyweight for device dev whic is why I&amp;#39;ve stayed away from it.&lt;br /&gt;&lt;br /&gt;Cheers&lt;br /&gt;Simon.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default/6164308215002744401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default/6164308215002744401'/><link rel='alternate' type='text/html' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html?showComment=1266557716027#c6164308215002744401' title=''/><author><name>Simon Hart</name><uri>http://www.blogger.com/profile/08526568682625258690</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='25' height='32' src='http://bp3.blogger.com/_zq7uh-qGrLw/SBuKu52LWvI/AAAAAAAAAGs/id6kYLmhBpk/S220/MyMvpPhoto.jpg'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html' ref='tag:blogger.com,1999:blog-38895959.post-2448044949574486223' source='http://www.blogger.com/feeds/38895959/posts/default/2448044949574486223' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-651662130'/></entry><entry><id>tag:blogger.com,1999:blog-38895959.post-9134662314010332122</id><published>2010-02-17T20:38:29.195Z</published><updated>2010-02-17T20:38:29.195Z</updated><title type='text'>Hy Simon,
I&amp;#39;m really against using Common Serv...</title><content type='html'>Hy Simon,&lt;br /&gt;I&amp;#39;m really against using Common Service Locator. For me the correct way of using an Inversion of Control container is that only a really small portion of the code should be aware of the IoC. Most of the classes should only declare their mandatory dependencies in their constructor and their non mandatory dependencies by property. I generally avoid usage of attributes etc. If one needs to dynamically create instances on request a factory should encapsulate the IoC mechanism. This makes the code clean and the DI exchangeable. Common Service Locator is a nightmare when it comes to TDD (injection of dependencies in singleton, cleanup, tests are not isolated in worst case). I would rather put effort into porting the ideas of nate&amp;#39;s ninject etc. to compact framework. In fact there are some people around ninject community which are currently trying to port ninject latest trunk to CF.&lt;br /&gt;&lt;br /&gt;Daniel</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default/9134662314010332122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/38895959/2448044949574486223/comments/default/9134662314010332122'/><link rel='alternate' type='text/html' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html?showComment=1266439109195#c9134662314010332122' title=''/><author><name>Daniel Marbach</name><uri>http://www.planetgeek.ch</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://www.simonrhart.com/2010/02/implementing-commonservicelocator-on.html' ref='tag:blogger.com,1999:blog-38895959.post-2448044949574486223' source='http://www.blogger.com/feeds/38895959/posts/default/2448044949574486223' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1557389315'/></entry></feed>
