﻿<?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>william simons  commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>I also wish you had taken a different approach to this and admitted you dislike ddd.  
Why don't write your own book or series about this.?? Personally, I applaud microsoft for still believing in ddd!!   I love  ddd and oop princples should always be a part of .net and yes I love prism and unity dependency injection . I really hope that you really encourage and challenge   developers to
develop greater enterprise skills like  oop techniques! That is what really make software enginerring fun Ayende, you could have 100 software engineers and everyone would have their opinion  on how good software should be written. I am willing to listen however I may respectfully disagree with you, that's what makes it fun to debate!! Have a great Day!!               </description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment56</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment56</guid><pubDate>Sun, 04 Sep 2011 21:45:37 GMT</pubDate></item><item><title>Serena Yeoh commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Hi!

What do you guys think about the Layered Architecture Sample for .NET? (http://layersample.codeplex.com)

Regards,
Serena</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment55</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment55</guid><pubDate>Mon, 01 Aug 2011 11:33:11 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Hendry,
That is actually not the case.
DDD was written about a decade ago, things change.
You don't need specifications if you have Linq, you don't need to build repositories if you have an OR/M, etc.
Those things were moved into the infrastructure, no longer required.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment53</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment53</guid><pubDate>Thu, 07 Jul 2011 05:17:15 GMT</pubDate></item><item><title>Hendry Luk commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>A good example is the specification pattern, which I'm well aware you're not a big fan of, and indeed only few apps need it. But any DDD guidance won't be complete without covering specification pattern. At least it may give .net developers a pretty good idea of one way you can implement the pattern on microsoft stack should you ever need it</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment52</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment52</guid><pubDate>Thu, 07 Jul 2011 05:14:58 GMT</pubDate></item><item><title>Hendry Luk commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>DDD doesn't have to be done that way, but this guidanance uses the standard DDD architecture formally laid out by the blue-book. You got a point about its sheer complexity of it, but that seems to be a critisim that should be directed to the DDD architecture, not this particular implementation guidance</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment51</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment51</guid><pubDate>Thu, 07 Jul 2011 05:09:25 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Hendry,
I have written multiple DDD apps. This isn't how you do it.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment50</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment50</guid><pubDate>Thu, 07 Jul 2011 04:57:17 GMT</pubDate></item><item><title>Hendry Luk commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Just to clarify when I said you can't remove some components defined in DDD. Of course you can. What I meant by that is you can't remove those things from a DDD reference-guide, because if would be like missing chapters</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment49</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment49</guid><pubDate>Thu, 07 Jul 2011 00:24:39 GMT</pubDate></item><item><title>Hendry Luk commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>I think you're missing the point of this guidance. The title clearly indicates that this is a reference implementation of THE "DDD architecture", which I believe has already been defined extensively in the blue-book. You can't just say you want to remove various components that you think you can do without, or to trim down all those layers, because then you will be missing some essential components involved in the formal blue-book DDD architecture. 
You see, the microsoft team do not invent their own new architecture and encourage people to follow it. They just simply take THE already-well-known blue-book architecture and show how you'd implement it using microsoft stack. It's not a guidance of how you build ANY KIND of applications. If anyone feels that this architecture is too complex for their requirement, it just simply means that DDD doesn't fit their projects. But when you do want to embrace DDD, this guidance shows you how, and i think it serves its purpose well. I see how some ms technologies can be fit to the picture in ways that I did not see before, and I think it's a good thing.
Your review should really focus on specific implementation flaws that can be improve, rather than bashing the whole architecture itself, because following the DDD blue-book is the whole point of this guidance, and I can't see how any criticism on that front would be any useful for the authors</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment48</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment48</guid><pubDate>Thu, 07 Jul 2011 00:21:02 GMT</pubDate></item><item><title>Scott Rudy commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>I can't say I agree with the general comments on the code sample (http://bit.ly/mSTS8V). I will be interested to see if feelings change if/when people read the book.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment47</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment47</guid><pubDate>Fri, 01 Jul 2011 07:38:55 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Joe,
Look at Alexandria and Effectus for other examples</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment46</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment46</guid><pubDate>Thu, 30 Jun 2011 15:54:29 GMT</pubDate></item><item><title>peter commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>@Ayende
I'll let you say that!

True story: my colleague in the pharmaceutical industry, in preparation for a business meeting in Japan emailed the Japanese team (in some big conglomerate like Hitachi) an excel spreadsheet with data to discuss in the upcoming meeting.
He flew to Tokyo a month later and was put up in a hotel on their dime. In the meeting they basically hemmed and hawed and tried to make him realize without them actually saying it that they didn't want to proceed with his product. He pushed them until they mumbled some misgivings about certain lack of data in the spreadsheet. He then showed them that the data was there on a different "sheet", accessible by clicking on it's tab at the bottom. Their mouths dropped open and everything was cleared up ... all he had to do was come back to Japan for another meeting in a few months when they had looked at the data...</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment45</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment45</guid><pubDate>Thu, 30 Jun 2011 15:50:11 GMT</pubDate></item><item><title>Joe commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Other than https://github.com/ayende/RaccoonBlog/   
Can you recommend any other sample applications that shows good architecture for non trivial applications?</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment44</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment44</guid><pubDate>Thu, 30 Jun 2011 15:50:09 GMT</pubDate></item><item><title>tobi commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>I prey to the gods that my career will never hit such a project. I am working on 50k of self-written lines of code and although this is not huge this is not small either. I still manage to get by with two C# projects and queries inside of my controllers. Have never found anything wrong with that approach yet.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment43</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment43</guid><pubDate>Thu, 30 Jun 2011 15:47:55 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Peter,
In Israel, we say: "You are wrong, and that is why"</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment42</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment42</guid><pubDate>Thu, 30 Jun 2011 15:02:27 GMT</pubDate></item><item><title>peter commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>I hope I don't end up stirring things up more here, but I think there is bit of a cultural divide here. In US/EU people professionally disagree by prefacing with "yes, on the other hand perhaps..", "I see what you mean, but..." etc etc. to keep everyone's feathers smoothed. In Japan and Thailand, my experience has been that people would rarely even disagree with any statement, just nod approvingly. Other cultures go somewhat in the other direction, and expect you to be forthright/frank without verbal prophylactics.
</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment41</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment41</guid><pubDate>Thu, 30 Jun 2011 15:01:25 GMT</pubDate></item><item><title>Dave commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Cool.  I will check out your app.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment40</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment40</guid><pubDate>Thu, 30 Jun 2011 15:00:34 GMT</pubDate></item><item><title>Dave commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Ok.  That is what I mean when I say going directly against the database.  I agree many layer of indirection are not necessary. I did see that post.  For the most part I agree but there are times when a repository pattern makes the code a little cleaner.  But you should not use repositories for the sake of using a pattern.  You should apply the pattern when it makes sense.  

That is one of the things I don't like about this N-Layer app is that they hide the data access behind repositories and specifications.  They also like to implement patterns that are already implemented in the .Net Framework, for instance they recreate the Unit of Work when the ObjectContext is already a unit of work.   A little over kill!
</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment39</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment39</guid><pubDate>Thu, 30 Jun 2011 14:52:35 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Dave
A good way to see how I currently write applications is this sample app (also this blog):
http://github.com/ayende/RaccoonBlog/</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment38</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment38</guid><pubDate>Thu, 30 Jun 2011 14:46:31 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Dave,
No, not that. But I see all too often people setting up 7 layers of indirection to do a single select.
You can see my series of posts about the Whiteboard project for more details, here is one:
http://ayende.com/blog/4784/architecting-in-the-pit-of-doom-the-evils-of-the-repository-abstraction-layer</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment37</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment37</guid><pubDate>Thu, 30 Jun 2011 14:45:36 GMT</pubDate></item><item><title>Dave commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Do you like going directly to the DB from an aspx page?  What is the reasoning?  How is the performance for long running SQL Querys?  Do you uses services?</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment36</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment36</guid><pubDate>Thu, 30 Jun 2011 14:35:56 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Dave,
That is really a complex answer, because it comes in two parts.
* The architecture that they say they are advocating.
* The architecture that they are actually advocating.

DDD has its place in big, complex applications where the major thing is complex business logic.
What they did is a complex technological mess. I don't think the later should be used. 

And I _like_ going directly to the DB, there is rarely a good reason to want to wrap those things up.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment35</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment35</guid><pubDate>Thu, 30 Jun 2011 14:25:23 GMT</pubDate></item><item><title>Alex Simkin commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Off topic. I hate BlackBerry on-screen keyboard.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment34</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment34</guid><pubDate>Thu, 30 Jun 2011 14:16:25 GMT</pubDate></item><item><title>Alex Simkin commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>To all. The document is very good and it summarizes the majority of good patterns and practices of enterprise architecture. But look how thos patterns are implemented before bushing Ayende. Look how IoC container is called directly instead of infrastructure calling it. Look how DTO's are manually mapped to entities instead of infrastructure doing this. </description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment33</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment33</guid><pubDate>Thu, 30 Jun 2011 14:11:17 GMT</pubDate></item><item><title>Kash commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>@Steve

Because he does not provide any valid argument to say that something is wrong. I only see subjective and partial judgments.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment32</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment32</guid><pubDate>Thu, 30 Jun 2011 14:09:29 GMT</pubDate></item><item><title>Dave commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>I agree quality guidance is important.  I too think the example is too small to fit the architecture that they are promoting.  In your opinion are there situations where this architecture would not be considered over kill? The projects that I work on would not warrant this structure as a whole but there are parts of it that are useful. I just think that it is nice to see a Microsoft example that doesn’t go from a data grid on a page directly to a database.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment31</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment31</guid><pubDate>Thu, 30 Jun 2011 14:08:14 GMT</pubDate></item><item><title>Steve commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>@Kash,

I'm not sure I get why his comments should be considered "not constructive".  They're not flattering by any stretch, but he doesn't approve of the application.  So is anything not praising the application "not constructive"?</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment30</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment30</guid><pubDate>Thu, 30 Jun 2011 13:57:25 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Dave,
Maybe I would like to get _quality_ guidance, you know, stuff that I can say I am happy to implement in my applications or see people implement?
</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment29</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment29</guid><pubDate>Thu, 30 Jun 2011 13:57:19 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Erik,
I never got the time to do it.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment28</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment28</guid><pubDate>Thu, 30 Jun 2011 13:55:36 GMT</pubDate></item><item><title>Ayende Rahien commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>Tom,
You can show off this architecture in a small project. It _doesn't work_.
Worse, because it is a small application, they layered on a lot of stuff that is unneeded and harmful. 
They could get away with it because the application is less than northwind.</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment27</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment27</guid><pubDate>Thu, 30 Jun 2011 13:54:43 GMT</pubDate></item><item><title>JhonRed commented on Review: Microsoft N Layer App Sample, Part II&amp;ndash;getting lost in the architecture</title><description>I can not find the sense, that sense has to do a review of something that has changed?

Jhon R.D</description><link>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment26</link><guid>http://ayende.com/27649/review-microsoft-n-layer-app-sample-part-ii-getting-lost-in-the-architecture#comment26</guid><pubDate>Thu, 30 Jun 2011 13:53:01 GMT</pubDate></item></channel></rss>