﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Wayne Molina commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Sadly this is common, it seems.  My company does this; we have "XXXEngine.cs" classes that have either multiple classes in the same file, or worse every method static.  It's like a VB6 module.  And at least one has a GOTO STATEMENT (in C# 3.5!).

The fact this is touted as "approved guidance" makes me throw up a little, but I'm used to it.  In the six years I've worked in software development, I've always been the ONLY person on the entire team, if not the whole company, that listens to the advice of knowledgeable people like Ayende and his peers.

It's fairly distressing.  Things like this makes me want to use Java; I love C# but Microsoft, and by extension most .NET developers I've met, just *have it all wrong*</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment43</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment43</guid><pubDate>Mon, 25 Jul 2011 12:47:53 GMT</pubDate></item><item><title>Tien Do commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>It makes me remember about a project that I joined two months ago, some developers often wrap their code in regions named "Public methods", "Private methods", "Static methods" etc. but then they sometime forgot to put methods in the right region, or they even put private methods into "Public methods" region heheheh. But they're not MS architects :D.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment42</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment42</guid><pubDate>Mon, 11 Jul 2011 11:00:00 GMT</pubDate></item><item><title>Bartek commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Sergio Navarro,
Catching NullReferenceException is what you called questionable mistake?</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment41</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment41</guid><pubDate>Sat, 09 Jul 2011 19:47:31 GMT</pubDate></item><item><title>Bartek commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>"what are we, Java?"

I really like this sentence. I am pretty sure that when you ask 10 random Java developers and then 10 random .NET developers questions about such terms as ORM, SoC, SRP, TDD most of Java guys will know the answer while .NET guys will struggle with the answer. That's because MS is promoting so called "ease of development" instead of best practices. And that's why we see such "guidances" from MS as quoted in this blog post.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment40</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment40</guid><pubDate>Sat, 09 Jul 2011 19:44:13 GMT</pubDate></item><item><title>Sergio Navarro commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>I'm seeing too much demagogy on this series of post. Very subjective opinions about very questionable mistakes but with an unmeasured force to prosecute the project.In conclusion much ado about almost nothing</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment39</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment39</guid><pubDate>Sat, 09 Jul 2011 11:12:54 GMT</pubDate></item><item><title>John commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>As some astute commenter cleverly pointed out, this is an example of your everyday, run-of-the-mill "God class" anti-pattern. This isn't a facade. It has nothing to do with WCF technologies.

Microsoft has a history of doing some things very well(Rx anyone?), but much, much more in a mediocre fashion (Zunes came out in brown, 

Vista was too bloated that Netbooks won't run on it, Bing and MSN are money losers, they are 3 years behind Apple in producing a true tablet OS, despite working on Project Origami way back in 2006, and on and on, . . . ).

On a side note, WSJ did a story recently about how MS has many more patents than Google. One wonders if the coders at MS spent less time on patent paperwork whether they would write better programs.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment38</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment38</guid><pubDate>Fri, 08 Jul 2011 19:31:55 GMT</pubDate></item><item><title>JV commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Ayende: I definitely agree with you. They are crappy.

Just pointing out and taking note of the "single reference" thing others are talking about.

Those examples are more ammunition to backup your point here. ;)</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment37</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment37</guid><pubDate>Fri, 08 Jul 2011 17:06:20 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>JV,
I don't know this magento thingie, but I don't really like the API it exposes.
And NO ONE should hold up Reporting Services as the way to do something.
</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment36</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment36</guid><pubDate>Fri, 08 Jul 2011 16:58:24 GMT</pubDate></item><item><title>JV commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>I can see both points being made here.

If these WCF endpoints are being exposed to customers/partners/third parties, the approach they are using has been done to make it is easier for the consumer to have access to everything with only a single reference.

Perfect examples of this:
http://msdn.microsoft.com/en-us/library/aa257520(v=sql.80).aspx
http://www.magentocommerce.com/wiki/doc/webservices-api/api

On the other hand, Ayende is pointing out that, without a proper domain and understanding of what you are building (and who for), this "offical guidance" can easily be misleading. Other approaches could be more efficient and suitable, depending on what you are setting out to accomplish.

There are many factors that will determine how to structure your SOA (logically and physically) in a way that best suits your domain, infrastructure, development team, and a boss who doesn't understand any of it, anyway.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment35</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment35</guid><pubDate>Fri, 08 Jul 2011 16:55:41 GMT</pubDate></item><item><title>Corey commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>If WCF is the excuse, why not create an endpoint that meets both needs and doesn't expose several methods over the wire... Use one endpoint one method that passes messages. Don't like the abstraction? Maybe WCF wasn't the best choice?

object Request(object request);</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment34</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment34</guid><pubDate>Fri, 08 Jul 2011 15:40:08 GMT</pubDate></item><item><title>Kamran commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Ayende is right. Where I work all these systems are in SAP, Oracle, and SQL Server. Having one service to rule them all would be a nightmare. They all have different permissions. Much easier to consume multiple services... as he says, it doesn't cost more money to add endpoints to your app.

Even using an "application service layer" type thinking within a single app, you'd probably split your responsibilities into separate "services" like ICustomerService, ITransactionService, etc. to deal with your domain.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment33</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment33</guid><pubDate>Fri, 08 Jul 2011 15:30:27 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>David,
This is the first time I even hear about this new fangled thing WCF Facade.
This code isn't a facade, it doesn't simplify anything and doesn't really help you to do much.
In a real N Layer system, those services would be located on different machines, anyway, so this is a double irony.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment32</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment32</guid><pubDate>Fri, 08 Jul 2011 14:06:25 GMT</pubDate></item><item><title>Alex Simkin commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Does Interface Segregation Principle break Single Responsibility Principle or vice versa? That is the question!</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment31</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment31</guid><pubDate>Fri, 08 Jul 2011 14:05:43 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Mister Derp,
Yes, I would much rather work with a focused interface than one that has dozens or hundreds of methods.
Service interfaces don't cost money, you shouldn't be afraid to have more than one of them.
Please note that if you continue to curse on this blog I'll remove your comments.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment30</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment30</guid><pubDate>Fri, 08 Jul 2011 14:04:28 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Kash,
Again, not real world example.
Not actually a facade, it makes things more complicated, not simpler.

And those classes contains reams of logic, just look how big those methods are.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment29</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment29</guid><pubDate>Fri, 08 Jul 2011 14:02:42 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Pablo,
Because having additional endpoints cost you money? 
Because naturally they share all the same requirements? Your Sales requires the same security as your Bank ? They sit in the same DB? Accessible to the same people?

Give me a break, that isn't how applications are structured. But since this isn't a real application, they wouldn't know that.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment28</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment28</guid><pubDate>Fri, 08 Jul 2011 14:01:19 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Koen,
Look at the publication dates, I wrote all of those posts at one sitting, some weeks ago. From then on, it is pretty much on auto pilot.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment27</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment27</guid><pubDate>Fri, 08 Jul 2011 13:57:50 GMT</pubDate></item><item><title>Brian commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>@David
You say that having a lot of endpoints is a nightmare.  It really doesn't matter what you prefer - in a real world application it may be required to split to services (following SOA principles), so that separate services like Banking, Sales and Customer management can be separately scaled out and have different SOA requirements.  So, take a look at some "real code" out there - I don't think this facade is good at all.   It is a pattern being misused.  Not all systems run on one machine!</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment26</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment26</guid><pubDate>Fri, 08 Jul 2011 13:45:05 GMT</pubDate></item><item><title>Jesse Williamson commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>People are getting HEATED on here. GEEZ! I agree with Craig on this, but if MisterDerp and Kash (and others) want to use WCF as a reason to violate SRP or ISP, fine. Make that decision and move on. I personally, would much rather have to consume multiple services than have to change because something unrelated to me is modified, but that is me. I think MS should make those arguments (no I haven't read "the book" so maybe it's in there) and justify the path they took and acknowledge alternatives. I don't see that here.

I think Ayende's, and other's, concern is that when passing something along as Official Guidance, you have to understand that people will take these things and run with them. Official guidance should explain decisions and viable alternatives. I don't think it's realistic to expect that any large scale project doesn't violate some aspect of SOLID somewhere but those violations should be deliberate and explained.

Oh, and @MisterDerp...chill, the fuck, out. I mean, really, guy. It's just a sample app and it's just one opinion. You're going to burst a blood vessel if you keep that stuff up. :)</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment25</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment25</guid><pubDate>Fri, 08 Jul 2011 13:31:16 GMT</pubDate></item><item><title>David commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>@Craig, @Mix
Sometimes you can compose in order to minimize roundtrips, but many other times you cannot because those are the calls you really need to make, or maybe the internal services already made that composition (Which I think is this case if you take a look to the internal services, the real façade seems to be made by the Application Services). 
Then, it is a matter of how many WCF Endpoints you wanna have for your WCF consumers. Having a lot of Web-Service References is kind of a nightmare for consumer apps. I personally prefer having the minimum number of WCF endpoints depending on the volume of your Modules.

</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment24</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment24</guid><pubDate>Fri, 08 Jul 2011 13:21:43 GMT</pubDate></item><item><title>Paul Cowan commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Mixins in C# would be a big productivity boon.  It would also the negate to be so reliant on an IOC container.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment23</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment23</guid><pubDate>Fri, 08 Jul 2011 13:16:52 GMT</pubDate></item><item><title>PB commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>@Mister Derp, you misunderstand the facade pattern...</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment22</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment22</guid><pubDate>Fri, 08 Jul 2011 12:59:12 GMT</pubDate></item><item><title>Craig Wilson commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>@Pable, @BobJ

I'm not sure to what you guys are referring to.  I have done massive implementations of WCF in real-world scenarios and truly don't know what problems you are experiencing that would excuse this type of service contract.  

In what scenario would a consumer of these services need more than 1 of them at a time?  I can see getting a customer and then getting sales information.  However, if this is the case, then a simple Facade over these 3 internal services is not the answer.  Rather, the service should aggregate together the information necessary to service the consumer in a single call.  For example, the ISalesService should return back customer information in addition to sales information.  This is a foundational aspect of SOA -&gt; compositing data for consumers so they don't need to make umpteen calls to information.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment21</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment21</guid><pubDate>Fri, 08 Jul 2011 12:52:06 GMT</pubDate></item><item><title>Mix commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Because of this understanding of Façade a few people mentioned our code base sometimes hurt to look at. This is not a Façade - as per Façade pattern, the pattern does contain some logic. As per Wikipedia:

A facade is an object that provides a simplified interface to a larger body of code

How the above is a Façade??? It does not give me a simplified interface, it gives me more complex interface by aggregating simpler ones. It does hide the fact that there are 3 or more services to which calls are passed on, but you have to be joking to call this a proper pattern.

Anyway, I was just pissed we're calling this Façade, that's all. I propose we call it WCF Conglomerate Interface.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment20</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment20</guid><pubDate>Fri, 08 Jul 2011 12:45:17 GMT</pubDate></item><item><title>BobJ commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>@Craig Wilson

So you have never dealt with WCF in a real world/large scale project then?

</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment19</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment19</guid><pubDate>Fri, 08 Jul 2011 12:29:22 GMT</pubDate></item><item><title>Pablo Alarcón commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>@Craig

There is no excuse, but there are many more concerns when the interface defines a WebService. 

</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment18</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment18</guid><pubDate>Fri, 08 Jul 2011 12:21:53 GMT</pubDate></item><item><title>David commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>Taken a look to the real code, that interface is really a WCF Interface/Contract. That WCF is acting as a single Façade so you have a single WCF Endpoint to consume. That is quite common and easier to consume instead of having a lot of 'Web References'. Son it has to aggregate many methods from different internal Services. Then, internally  they seem to follow the SRP.
So, I don't think that this code (WCF Façade) is wrong at all.
</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment17</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment17</guid><pubDate>Fri, 08 Jul 2011 12:17:19 GMT</pubDate></item><item><title>Patrick Huizinga commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>@David Fauber

You mean excluding the 512 parentheses, right? :-P</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment16</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment16</guid><pubDate>Fri, 08 Jul 2011 12:12:33 GMT</pubDate></item><item><title>Craig Wilson commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>@MisterDerp, @Kash

WCF doesn't give any excuse to violate ISP.  The purpose of ISP is to protect consumers from changes in unrelated code.  In this example,  if customer management changes, then whoever cares about banking will have to change as well even though they don't consume anything related to customer management.  So, no, I don't think WCF services are a prime candidate for this...</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment15</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment15</guid><pubDate>Fri, 08 Jul 2011 12:11:24 GMT</pubDate></item><item><title>David Fauber commented on Review: Microsoft N Layer App Sample, part VI&amp;ndash;Single responsibility principle is for idiots and morons</title><description>"no one needs to have multiple classes in their applications, what are we, Java?"

These guys did a good job here given the tools at hand but I could've gotten that down to four characters in lisp.</description><link>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment14</link><guid>http://ayende.com/31745/review-microsoft-n-layer-app-sample-part-vi-single-responsibility-principle-is-for-idiots-and-morons#comment14</guid><pubDate>Fri, 08 Jul 2011 11:50:36 GMT</pubDate></item></channel></rss>