<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://devlicio.us/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>Krzysztof Kozmic - All Comments</title><link>http://devlicio.us/blogs/krzysztof_kozmic/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP1 (Build: 31106.3070)</generator><item><title>re: Advanced Castle Windsor – generic typed factories, auto-release and more</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2010/03/11/advanced-castle-windsor-generic-typed-factories-auto-release-and-more.aspx#70546</link><pubDate>Thu, 29 Nov 2012 14:58:37 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70546</guid><dc:creator>OutOFTouch</dc:creator><description>&lt;p&gt;I am confused a little by this statement&lt;/p&gt;
&lt;p&gt;&amp;quot;It does not even know what actual type of command it got.&amp;quot; &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Didn&amp;#39;t the code explicitly create a specific command of type UpdateClientCorrespondenceAddressCommand?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70546" width="1" height="1"&gt;</description></item><item><title>re: On testing</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/11/27/on-testing.aspx#70543</link><pubDate>Wed, 28 Nov 2012 17:43:12 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70543</guid><dc:creator>David Hogue</dc:creator><description>&lt;p&gt;@Wayne: I have had to push to get several tools like NUnit, NHibernate, MVC, etc adopted. It wasn&amp;#39;t always an easy process and things didn&amp;#39;t always turn out like I wanted. One downside of that, at least in my head, is because I did push for these things I feel a little bit responsible when the code ends up really ugly or the concepts are harder to teach than I would have thought. I still think it&amp;#39;s been worth it though, the code is more reliable and maintainable than in the old days.&lt;/p&gt;
&lt;p&gt;Unfortunately because these tools and techniques are something to build apps on top of, they aren&amp;#39;t that visible and there probably won&amp;#39;t be a push from the higher ups in the company for them. The thing that works best is if you can show how you were able to get things done faster or better than without them.&lt;/p&gt;
&lt;p&gt;As far as going back to the basics, I think it could be helpful. I sometimes search for posts like that to forward on, and if the post is from 2002 when NUnit 2.0 came out I&amp;#39;ll be less likely to pass it on. &lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70543" width="1" height="1"&gt;</description></item><item><title>re: On testing</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/11/27/on-testing.aspx#70538</link><pubDate>Tue, 27 Nov 2012 16:52:16 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70538</guid><dc:creator>Wayne Molina</dc:creator><description>&lt;p&gt;+1 Nick; too many posts say how great design patterns or testing or whatever (IoC, ORM, your choice of acronym) but show some trivial application that doesn&amp;#39;t help when you are in the real world. &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes, I understand the benefit of unit testing. &amp;nbsp;I&amp;#39;ve never worked at any place that saw a need for it, saw a benefit to devoting time to writing tests (to say nothing of TDD), or had a codebase that could support unit testing without spending months refactoring or even rewriting parts of it to be able to write a test. &amp;nbsp;That&amp;#39;s where I get stumped - as nice as tests are you can&amp;#39;t justify it when the team has to spend a month refactoring (and, therefore, not providing tangible value) just to be able to write tests around the code.&lt;/p&gt;
&lt;p&gt;For all the blogs that I read, all the best practices that I try to adhere to, the reality has always been that this stuff is the domain of the innovators and early adopters; I think in several years as a .NET developer I&amp;#39;ve met maybe one or two people that even knew these blogs exist, or even bothered to look at open source for beneficial tools, and when I would mention these things I&amp;#39;d be looked at like I was insane.&lt;/p&gt;
&lt;p&gt;I really envy you people that get to work with things like MVC, NHibernate, Windsor/Structuremap/Ninject, and the like, because you don&amp;#39;t have to fight uphill battles with people that have never even HEARD of NHibernate or NUnit or MVC, and have no desire to learn. &amp;nbsp;You don&amp;#39;t have to risk getting fired for trying to push software craftsmanship and quality.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70538" width="1" height="1"&gt;</description></item><item><title>re: On testing</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/11/27/on-testing.aspx#70534</link><pubDate>Tue, 27 Nov 2012 14:24:49 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70534</guid><dc:creator>Nick </dc:creator><description>&lt;p&gt;There are a ton of posts on how to do silly simple unit tests. &amp;nbsp;How about how to make something testable? &amp;nbsp;Like legacy code, or even the patterns needed to make code testable. &amp;nbsp;No simple calculators but some real business problem. &amp;nbsp;That is what I find hard. &amp;nbsp;If I were writing some calculator I&amp;#39;d know what to do, applying that knowledge to real business code is where I fail.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70534" width="1" height="1"&gt;</description></item><item><title>re: On testing</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/11/27/on-testing.aspx#70532</link><pubDate>Tue, 27 Nov 2012 10:25:20 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70532</guid><dc:creator>Adriaan</dc:creator><description>&lt;p&gt;Good idea. Looking forward to the series.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70532" width="1" height="1"&gt;</description></item><item><title>re: On testing</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/11/27/on-testing.aspx#70530</link><pubDate>Tue, 27 Nov 2012 08:27:18 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70530</guid><dc:creator>Rémi BOURGAREL</dc:creator><description>&lt;p&gt;I absolutly agree with you, most of the blog posts I read are about the basic. I loved the last series from ayende about the design patterns like I love Jim Bogard&amp;#39;s posts about testing.&lt;/p&gt;
&lt;p&gt;Looking for your next posts !&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70530" width="1" height="1"&gt;</description></item><item><title>re: How to force Nuget not to update log4net to 1.2.11</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/01/31/how-to-force-nuget-not-to-update-log4net-to-1-2-11.aspx#70432</link><pubDate>Thu, 01 Nov 2012 21:42:45 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70432</guid><dc:creator>Neeraj</dc:creator><description>&lt;p&gt;Hi Dominick,First of all, I want to say i&amp;#39;ve been a big fan of your work, especially WIF topcis. Reading your blog is the first thing i&amp;#39;ve been doing every moring the past 2 months. With the release of this Thinktecture.IdentityModel.40, i&amp;#39;m wondering if there is any plan to update the IdentityServer (.Net 4 version) to make use of this library and also offer support JWT from the OAuth2 endpoint? I&amp;#39;ve started to do the conversion and making to changes to the IdentityServer source code but i&amp;#39;m not 100% confident on whether i&amp;#39;ve done it correctly.Thanks,Ryan N&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70432" width="1" height="1"&gt;</description></item><item><title>re: IoC container solves a problem you might not have but it's a nice problem to have</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/10/23/ioc-container-solves-a-problem-you-might-not-have-but-it-s-a-nice-problem-to-have.aspx#70415</link><pubDate>Sun, 28 Oct 2012 22:14:06 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70415</guid><dc:creator>Dmitriy Startsev</dc:creator><description>&lt;p&gt;Guilherme, &amp;nbsp;can you explain how large number of abstractions breaks maintainability of application? &lt;/p&gt;
&lt;p&gt;Maybe a physical structure of project (files, directories) makes harder to navigate through large number of files? Then you should reorganize it. &lt;/p&gt;
&lt;p&gt;Maybe dependency graph is too complex to understand? Then you should visualize it.&lt;/p&gt;
&lt;p&gt;Maybe there is any other problem, which I don&amp;#39;t see?&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70415" width="1" height="1"&gt;</description></item><item><title>re: IoC container solves a problem you might not have but it's a nice problem to have</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/10/23/ioc-container-solves-a-problem-you-might-not-have-but-it-s-a-nice-problem-to-have.aspx#70414</link><pubDate>Thu, 25 Oct 2012 13:35:40 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70414</guid><dc:creator>Guilherme</dc:creator><description>&lt;p&gt;You should read Ayende&amp;#39;s series on limiting your abstractions, its really great. In my projects, one of the first things I would do is get my favorite container up and running and start creating IServices, IRepositories etc. Soon enough, my project would get full of interfaces and dependencies everywhere to the point where it was no longer workable. Since I realized that started to take a more pragmatic approach and NOT using a container unless it&amp;#39;s strictly necessary. &lt;a rel="nofollow" target="_new" href="http://ayende.com/blog/153889/limit-your-abstractions-analyzing-a-ddd-application"&gt;ayende.com/.../limit-your-abstractions-analyzing-a-ddd-application&lt;/a&gt; &amp;nbsp;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70414" width="1" height="1"&gt;</description></item><item><title>re: To constructor or to property dependency?</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/09/05/to-constructor-or-to-property-dependency.aspx#70412</link><pubDate>Tue, 23 Oct 2012 22:49:30 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70412</guid><dc:creator>Neil Kidd</dc:creator><description>&lt;p&gt;I&amp;#39;m with Dathan on this. After construction any object should be &amp;quot;good to go&amp;quot; and immutable. Optional parameters can be taken care of in a constructor overload that chains, with safe defaults (think null object pattern), to one single constructor. Properties are evil! except in DTO&amp;#39;s. If you require different parameters, maybe you are missing an object?&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Neil&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70412" width="1" height="1"&gt;</description></item><item><title>re: To constructor or to property dependency?</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/09/05/to-constructor-or-to-property-dependency.aspx#70356</link><pubDate>Tue, 02 Oct 2012 15:46:23 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70356</guid><dc:creator>Eber Irigoyen</dc:creator><description>&lt;p&gt;I don&amp;#39;t necessarily agree with your approach, I&amp;#39;m just curious how this is working for you, especially if you have quite a few other developers on your team&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70356" width="1" height="1"&gt;</description></item><item><title>re: To constructor or to property dependency?</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/09/05/to-constructor-or-to-property-dependency.aspx#70353</link><pubDate>Thu, 27 Sep 2012 17:58:36 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70353</guid><dc:creator>Dathan</dc:creator><description>&lt;p&gt;We have a simple rule: whenever possible, objects should be fully initialized and ready to use as soon as the constructor returns -- implying, of course, that all required dependencies are injected via the constructor. &amp;nbsp;It does sometimes cause problems (e.g., complicating constructors in derived classes), but if you&amp;#39;re in the happy position of being able to depend on interfaces instead of classes, most of those problems are easily mitigated through composition instead of inheritance.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70353" width="1" height="1"&gt;</description></item><item><title>re: To constructor or to property dependency?</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/09/05/to-constructor-or-to-property-dependency.aspx#70352</link><pubDate>Thu, 27 Sep 2012 00:35:46 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70352</guid><dc:creator>Chris Brandsma</dc:creator><description>&lt;p&gt;It is also important to remember the anti-pattern of DI: Too many constructor parameters! &amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now, I like IoCs and DP. But there is an issue that can happen with large projects over time where DI is too freely used, you end up with classes where there are a TON of constructor parameters, and each parameter can have a ton of its own parameters. &amp;nbsp;Suddenly you find you are injecting 100s of classes to create a web page.&lt;/p&gt;
&lt;p&gt;DI makes it very easy to loose track of what is going on and inject subtle problems when overused.&lt;/p&gt;
&lt;p&gt;Then throw on auto scanning, and now your project takes extra seconds (lots of them) to load.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70352" width="1" height="1"&gt;</description></item><item><title>re: Castle Windsor new feature – dynamic parameters from registration site</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2009/12/10/castle-windsor-new-feature-dynamic-parameters-from-registration-site.aspx#70351</link><pubDate>Wed, 26 Sep 2012 11:50:29 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70351</guid><dc:creator>Hills</dc:creator><description>&lt;p&gt;Cool, but DateTime is no primitive. &lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/en-us/library/ms228360%28v=VS.80%29.aspx"&gt;msdn.microsoft.com/.../ms228360%28v=VS.80%29.aspx&lt;/a&gt;&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70351" width="1" height="1"&gt;</description></item><item><title>re: To constructor or to property dependency?</title><link>http://devlicio.us/blogs/krzysztof_kozmic/archive/2012/09/05/to-constructor-or-to-property-dependency.aspx#70333</link><pubDate>Tue, 18 Sep 2012 19:54:42 GMT</pubDate><guid isPermaLink="false">40756a8b-6212-4073-9d98-6c26781577de:70333</guid><dc:creator>Ramon Smits</dc:creator><description>&lt;p&gt;I like constructor dependency injection as it helps to change code fast without missing any clients. Using property injection can result in having clients that &amp;#39;forget&amp;#39; to inject a value resulting in broken unit tests. I rather have compile time issues then at runtime.&lt;/p&gt;
&lt;p&gt;However, I think that the data session is infrastructural as wel. It is generic, it has transactions that are managed somewhere else. Having something to send messages to is IMHO the same thing.&lt;/p&gt;
&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://devlicio.us/aggbug.aspx?PostID=70333" width="1" height="1"&gt;</description></item></channel></rss>