﻿<?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>Steve Py commented on Out of context, architecture is nothing but modern art</title><description>Can you elaborate more on: "Note, those changes are not changes to the code, they are architectural and system changes. Where before you had a single database, now you have many. Where before you could use ACID, now you have to use BASE. You need to push a lot more tasks to the background, the user interaction changes, etc."

When you talk about jumping from 1 server to multiple servers, ACID to BASE, and how user interaction changes, how do you quantify that this is done without code changes?</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment26</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment26</guid><pubDate>Thu, 05 Jan 2012 23:13:26 GMT</pubDate></item><item><title>Daniel Lang commented on Out of context, architecture is nothing but modern art</title><description>Very good post. I absolutely agree on that it's quite useless to put too much worries about scaling, before you've collected some data on how the system will be used, what bottlenecks come up, etc. 

The biggest challenge about scaling is predictability. You simply don't know how you need to design your system or how much servers you need, so that it can handle a million requests per hour. It might be easier with web-only applications, but when systems become more complex (data-analysis, live-streaming of stock prices, etc.) you can only guess how many infrastructure you will need to meet certain perf requirements. </description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment25</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment25</guid><pubDate>Thu, 05 Jan 2012 20:32:33 GMT</pubDate></item><item><title>Rafal commented on Out of context, architecture is nothing but modern art</title><description>This could become a meeting game - if you hear 'scalability' and 'infinite' stand up and shout "YAGNI, YAGNI!"</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment24</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment24</guid><pubDate>Thu, 05 Jan 2012 20:01:22 GMT</pubDate></item><item><title>Ayende Rahien commented on Out of context, architecture is nothing but modern art</title><description>Udi,
I don't think that we disagree. But I think that if you already have solutions in place for the sort of scale that you already have (including the buffer that I talked about), having this come up is already something that you had to address.
</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment23</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment23</guid><pubDate>Thu, 05 Jan 2012 16:47:34 GMT</pubDate></item><item><title>Udi Dahan commented on Out of context, architecture is nothing but modern art</title><description>Ayende, "Having a new requirement like you said is trivial if you stay within the order of magnitude that you have started with, in most cases"

Ah - "in most cases"

It could be that I end up hearing from all the people that don't fit in the "most cases" and that everybody else is not having any issues, but I doubt it.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment22</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment22</guid><pubDate>Thu, 05 Jan 2012 16:40:59 GMT</pubDate></item><item><title>Ayende Rahien commented on Out of context, architecture is nothing but modern art</title><description>Udi,
I don't see it having any affect on the actual post though. Having a new requirement like you said is trivial if you stay within the order of magnitude that you have started with, in most cases.
It is only when you get to the really high scale that those situations starts to crop up, and then you already have a set of solutions for that. 
</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment21</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment21</guid><pubDate>Thu, 05 Jan 2012 16:35:21 GMT</pubDate></item><item><title>Udi Dahan commented on Out of context, architecture is nothing but modern art</title><description>You didn't address topics like new functionality that significantly changes the scalability profile of the system. For example, from the time that one user performs action X, all other users need to see it within 2 seconds. 

See my post on Non-Functional Architectural Woes for some more examples: http://www.udidahan.com/2010/01/12/non-functional-architectural-woes/

I do agree that you can't predict all this stuff up-front, therefore it is important to communicate that there is no such thing as a system that is infinitely scalable - there will always be some feature which will require a full system rewrite/redesign/rearchitecture.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment20</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment20</guid><pubDate>Thu, 05 Jan 2012 16:30:51 GMT</pubDate></item><item><title>Peter Ritchie commented on Out of context, architecture is nothing but modern art</title><description>Excellent points Ayende!</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment19</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment19</guid><pubDate>Thu, 05 Jan 2012 14:24:43 GMT</pubDate></item><item><title>Patrick Huizinga commented on Out of context, architecture is nothing but modern art</title><description>@Igor: That depends on which post you look at. When looking at http://ayende.com/blog/152801/windows-7-conflict-resolution-dialog-how-i-hate-thee _your_ comment is out of place. :-)</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment17</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment17</guid><pubDate>Thu, 05 Jan 2012 10:25:32 GMT</pubDate></item><item><title>Ayende Rahien commented on Out of context, architecture is nothing but modern art</title><description>YYes, it was, fixed now</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment18</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment18</guid><pubDate>Thu, 05 Jan 2012 10:25:32 GMT</pubDate></item><item><title>Igor Zevaka commented on Out of context, architecture is nothing but modern art</title><description>Pretty sure the comments for this post are from a different post...</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment16</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment16</guid><pubDate>Thu, 05 Jan 2012 10:18:25 GMT</pubDate></item><item><title>Ayende Rahien commented on Out of context, architecture is nothing but modern art</title><description>Seb,
I don't think that I could figure out either one, so it doesn't really matter</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment41</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment41</guid><pubDate>Wed, 11 Jan 2012 17:54:38 GMT</pubDate></item><item><title>Sebastien Lambla commented on Out of context, architecture is nothing but modern art</title><description>note the difference between modern and contemporary art, the former finished 40+ years old, before a lot of us were *born*.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment40</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment40</guid><pubDate>Wed, 11 Jan 2012 15:22:13 GMT</pubDate></item><item><title>Giacomo Tesio commented on Out of context, architecture is nothing but modern art</title><description>@James: the fact that I agree with you (or Ayende), doesn't means that we have any truth. ;-)</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment39</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment39</guid><pubDate>Thu, 05 Jan 2012 09:36:10 GMT</pubDate></item><item><title>James McKay commented on Out of context, architecture is nothing but modern art</title><description>@Giacomo: So it's "just an opinion" that you should write your code in a way that's easy to maintain??? In that case is it "just an opinion" that magic numbers are bad, that meaningless method names such as "do_it" are bad, that 2000-line, 80-parameter stored procedures are bad, and that copy-and-paste code is bad?

Here are some questions for any of you who think that NSK-style architecture is acceptable. How many places in the code do you have to change if you want to add a column to the Orders table? How long does it take you, as a developer unfamiliar with the codebase, to find them all? How confident are you that you haven't missed any? How far apart in the solution explorer are they? And how long does it take you to verify the change?</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment38</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment38</guid><pubDate>Thu, 05 Jan 2012 09:24:20 GMT</pubDate></item><item><title>Giacomo Tesio commented on Out of context, architecture is nothing but modern art</title><description>Funny!
Looks like everyone forget that both NSK and ayende.com are marketing tools...

On the matter, I agree with Ayende (in particular becouse it's impossible to teach anything about DDD while facing with CRUD requirements like the Northwind ones), but I don't think that any serious developer requires such detailed, boring reviews (to juniors ones they could be useful, however).

Still, why do you care so much? It's just an opinion! 
And btw, we are not our code... when we like it too much, it's just becouse we haven't learn enough.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment37</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment37</guid><pubDate>Wed, 04 Jan 2012 23:01:43 GMT</pubDate></item><item><title>David commented on Out of context, architecture is nothing but modern art</title><description>Love the art analogy. I think one of the things I like about OOP/DDD is that I find them aesthetically pleasing.  I guess it's easy to mistake pretty code for appropriate code.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment36</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment36</guid><pubDate>Wed, 04 Jan 2012 22:28:51 GMT</pubDate></item><item><title>Jack commented on Out of context, architecture is nothing but modern art</title><description>Amen.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment35</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment35</guid><pubDate>Wed, 04 Jan 2012 20:47:26 GMT</pubDate></item><item><title>Daniel commented on Out of context, architecture is nothing but modern art</title><description>I'd still rather have a 9 article series showing how you would do things "better" than a 9 article series on how they are doing it wrong.

If you're going to invest the time, make it productive.

</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment34</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment34</guid><pubDate>Wed, 04 Jan 2012 18:13:55 GMT</pubDate></item><item><title>Rafal commented on Out of context, architecture is nothing but modern art</title><description>@Matthew
You've discovered yourself that The Path Of A Real Programmer is not about following someone else's advice and using someone else's tools. You have to have your own tools and techniques and if a tool is missing then create it. And remember Real Programmers don't have time for showing off, writing blogs or tutorials and bragging about their awesomeness. </description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment33</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment33</guid><pubDate>Wed, 04 Jan 2012 17:16:18 GMT</pubDate></item><item><title>Steve Sheldon commented on Out of context, architecture is nothing but modern art</title><description>Matthew:  Software development is an evolution of lessons learned.
</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment32</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment32</guid><pubDate>Wed, 04 Jan 2012 16:24:00 GMT</pubDate></item><item><title>Matthew Shapiro commented on Out of context, architecture is nothing but modern art</title><description>I still don't understand why people still consider the repository pattern good for complex applications.  It took me working on one real-life project to immediately come up to it's major flaws (performance, bloat, and over-complication) and make me realize not to use it.  And generic repositories are even worse.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment31</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment31</guid><pubDate>Wed, 04 Jan 2012 15:46:52 GMT</pubDate></item><item><title>Ayende Rahien commented on Out of context, architecture is nothing but modern art</title><description>Salvatore,
I did a full review on that, it will be published soon</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment30</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment30</guid><pubDate>Wed, 04 Jan 2012 15:31:10 GMT</pubDate></item><item><title>Salvatore commented on Out of context, architecture is nothing but modern art</title><description>Ayende, I took a long time on that code... :(
...please show us a detailed review

thanks</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment29</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment29</guid><pubDate>Wed, 04 Jan 2012 15:28:08 GMT</pubDate></item><item><title>Ayende Rahien commented on Out of context, architecture is nothing but modern art</title><description>Mike,
I have enough sample apps out there that shows how I think data access should behave.
In particular, you might want to look at Effectus and Alexandria (both are under my github account).
Both, by the way, comes with an MSDN article that goes through just about every line of code.

So yes, I am perfectly aware of what is going on in here, and it IS way too complicated.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment28</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment28</guid><pubDate>Wed, 04 Jan 2012 15:05:08 GMT</pubDate></item><item><title>Mike commented on Out of context, architecture is nothing but modern art</title><description>Ayende, I used to be a development manager and as a result I've heard MANY developers say something along the lines of "why did &lt;Person X&gt; make this so complicated? It should be nice and simple!" Then when Person X reimplements it himself, two months later he delivers code of exactly similar complexity. Then I say, "See, it wasn't so simple after all."

The truth of the matter is that everything looks simple until you actually try to do it. In fact, making things simple is so difficult that we typically remember those people by name ... Albert Einstein, Steve Jobs, etc. I should also say that making things simple tends to be extremely time consuming.

So, before we pass judgement on the Northwind sample or your feelings about it, I would encourage you to show us your version of the Northwind sample (with the same level of functionality, of course), so we can compare and contrast effectively.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment27</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment27</guid><pubDate>Wed, 04 Jan 2012 15:02:09 GMT</pubDate></item><item><title>Ricardo Diaz commented on Out of context, architecture is nothing but modern art</title><description>I'd say Ayende is spot on about this.

Every example I ever read on using an IoC container took a simple problem and made it WAY more complicated.

They all tried to explain it away saying they needed a simple example, but the result was I avoided using an IoC container for MUCH too long because of the over complicated simple examples.

When a co-worker showed me a complicated example made simpler by IoC containers it immediately clicked.

So I'm with Ayende, if you are showing a complex solution, show a complex problem to go with it.

Otherwise, you are leading folks astray...</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment26</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment26</guid><pubDate>Wed, 04 Jan 2012 14:48:08 GMT</pubDate></item><item><title>James McKay commented on Out of context, architecture is nothing but modern art</title><description>There is a difference between "proper design" and "overdesign."</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment25</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment25</guid><pubDate>Wed, 04 Jan 2012 13:57:35 GMT</pubDate></item><item><title>Wayne M commented on Out of context, architecture is nothing but modern art</title><description>I'm kind of on the fence here.  On one hand, I agree with Ayende that needless complexity is a bad thing.  On the other, I am a proponent if doing proper design for any non-trivial application, whether it be pure CRUD or not.  In that regards NSK is a decent approach to show how to take the typical business app (like it or not I would argue that the majority of line-of-business applications are structured a lot more like Northwind than, say, AdventureWorks) and separate it into the correct layers for future maintainability.  

Does the sample go too far?  Probably; I haven't looked at it outside of Ayende's reviews so can't comment on that, but having a Repository layer (even if it's more like Table Data Gateway than the DDD Repository), a services layer, and the like are more often than not a good thing - at any rate it sure beats the typical .NET approach of tossing everything in a code-behind of some ASPX file!

Also, please revisit Macto Ayende!  :)</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment24</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment24</guid><pubDate>Wed, 04 Jan 2012 13:42:01 GMT</pubDate></item><item><title>Phillip commented on Out of context, architecture is nothing but modern art</title><description>@Rafal - Normally when Ayende posts about all things wrong with a project I usually disagree with him. But after taking a look at NSK after he posted it, I personally find it far too complex and difficult to learn from.

It's not like it took the NW DB and used it as a base to show the repository pattern OR used it as a base to show DDD, OR used it as a base to show *insert pattern*...

I think some of the best examples of showing something off, are the examples that ship with NServiceBus. Because it was dead simple to open one of those up for WCF or WebForms and see how it works, etc.

^ IMO.</description><link>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment23</link><guid>http://ayende.com/153027/out-of-context-architecture-is-nothing-but-modern-art#comment23</guid><pubDate>Wed, 04 Jan 2012 13:28:43 GMT</pubDate></item></channel></rss>