﻿<?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 commented on On RYO vs. NIH</title><description>"If you consider systems as services and the ability to plug in any service you need, then you get the best of both worlds and I don't consider any of this cobbling solutions together."
  
  
Good, because that is how I feel as well. And honestly, that is what I think we should strive for.
  
  
Choice is good. 
  
  
Thanks for your followup.
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment9</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment9</guid><pubDate>Sat, 26 May 2007 03:51:30 GMT</pubDate></item><item><title>Casey commented on On RYO vs. NIH</title><description>100% in agreement ... was going to write a reply to Bill myself ... but I couldn't add much beyond what you wrote.
  
  
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment8</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment8</guid><pubDate>Fri, 25 May 2007 07:11:32 GMT</pubDate></item><item><title>Michael Morton commented on On RYO vs. NIH</title><description>There is absolutely nothing wrong with Frankenstein-ing or cobbling together a solution.  It does not mean you are re-inventing the wheel or being in-efficient.  It's more like buying a custom computer, or a custom house or a custom car.  It's about you getting exactly what you want in both form and function.  At the end of the day, to use the car example, both the standard car and the custom car will get you from point A to point B, but the trip could be completely different.  Both types of cars have their strengths and weaknesses, but at least with the custom car, you got to choose both.
  
  
I'm not saying that everyone should only roll their own frameworks... Or only cobble together multiple frameworks... Or only use a single monolithic framework... At the end of the day, a good developer, a smart developer, will evaluate all of those options, and then some, and will choose the right solution for the task at hand.  A good developer will not be biased in their decision making just because they have used a particular solution with success in the past.  A good developer always re-evaluations the situation. 
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment7</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment7</guid><pubDate>Fri, 25 May 2007 06:36:47 GMT</pubDate></item><item><title>Steve commented on On RYO vs. NIH</title><description>I tried to post on that blog but I got some Community Server database unavailable error with instructions on how to set a connection string up.
  
  
lol
  
  
but, I wanted to say:
  
  
Here is the quote from the Web Client P&amp;P Factory:
  
  
"The software factory uses the Enterprise Library for a variety of features, including exception management, logging, data access, and authorization."
  
  
Let me ask Bill and P&amp;P:
  
1. I have a DDD in place that uses NHibernate and a IRepository/DAO approach
  
2. I use Windsor for some of my DI needs
  
3. I have a MVP webform solution in place.
  
  
Can I plug in my approach into this 'factory'.  Must I use their DAAB?  
  
  
Must I use this cobble of EntLib 'features'?  ie. I want to use log4net, but can I with this 'logging' feature?  
  
  
It seems P&amp;P supporters want to be critical of my approach without giving me a way to plug in my components into their architecture.  It appears I must either use their system or nothing.
  
  
I don't understand this - if I have a success system that uses NHibernate or Windsor  -  why can't P&amp;P create a framework that let's me use the components I use to solve business problems with?
  
  
I see effort on the OSS side to provide a way to use components. ie. Castle's 'Facilities'.  Plug in a facility.
  
  
This is my issue right now - I want choice in my design.  If P&amp;P can give me that choice, I'll go use it.  But if they want to bully me into a solution, where I must use a 'objectbuilder' instead of Windsor, or where I must write stored procs with 'DAAB' rather than my DAO/NHibernate solution then what is the value for me?
  
  
I could be missing the point here, but I see P&amp;P as a hodgepodge of their own components, trying to glue them all together but not allowing anyone else's components to plug into their large bulky architecture (although they have pretty pictures on the website).  I know the post said something about mastering it after a YEAR!.  Whew.  A year is a long time, I don't know what will be here a year from now  :)
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment6</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment6</guid><pubDate>Fri, 25 May 2007 03:47:46 GMT</pubDate></item><item><title>jafin commented on On RYO vs. NIH</title><description>NIH = Not Invented Here ?
  
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment5</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment5</guid><pubDate>Fri, 25 May 2007 03:26:39 GMT</pubDate></item><item><title>Chris Khoo commented on On RYO vs. NIH</title><description>I'm not up with the lingo - I was wondering, what's NIH?
  
  
Chris
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment4</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment4</guid><pubDate>Fri, 25 May 2007 00:42:20 GMT</pubDate></item><item><title>C-J Berg  commented on On RYO vs. NIH</title><description>Spring vs. Castle is quite a bit different, I think. (Spring.NET uses Castle's DynamicProxy, doesn’t it? Anyway, that's not the point.) I feel you're much less likely to run into such issues, and if you do, you need to handle it differently, as you imply.
  
  
Logging, however, is a necessity of pretty much any application, and you want to be able to choose which one to use (and log4net isn't the best option out there). It might even not be your decision. And who wants to use more than one framework? (And for writing an appender to log to another framework... I'd rather not.)
  
  
I feel I shouldn't be forced to use log4net simply because I want to use NHibernate - an O/R-mapper. Those are completely different concerns. After all, isn't that why both Castle and Spring has abstracted logging?
  
  
I totally agree that you shouldn't make unnecessary abstractions, but this isn’t one of them. Sure, you shouldn’t abstract the logging in your own application code, but reusable components should, IMHO.
  
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment3</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment3</guid><pubDate>Fri, 25 May 2007 00:18:25 GMT</pubDate></item><item><title>Ayende Rahien commented on On RYO vs. NIH</title><description>Frankly, I am against that.
  
The screw-up was a big issue, I agree, but I don't see the point of abstraction for the point of abstraction, and what it wrong with another Dll.
  
I don't think that we are likely to see the same issue as the PK screw up, so I don't really mind the dependencies. The problem in saying that you can't take hard dependencies is that pretty soon you start to get really lost. What happen if you want to use NHibernate with Spring, NHibernate is using some Castle stuff, is this fine? If not, how are you going to replace that,etc.
  
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment2</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment2</guid><pubDate>Thu, 24 May 2007 23:27:30 GMT</pubDate></item><item><title>C-J Berg commented on On RYO vs. NIH</title><description>On NHibernate’s log4net dependency: I really think this dependency ought to be removed. Logging frameworks varies from application to application, and the decision of which one to use shouldn’t be made by any single component such as NH. Log4net’s strong name screw-up between 1.2.9 and 1.2.10 is another reason (you need to recompile NH if you have other dependencies that cannot change – not a big task, but still).
  
  
Has this been discussed by the NH team? You’re all aware of it, I’m sure. Castle has done it right, of course. Spring.NET introduced a simple lightweight logging abstraction framework to get rid of its hard-coded log4net dependency (http://netcommon.sourceforge.net/). Perhaps it could be used, especially since it wouldn’t introduce any other new dependencies? Is there any interest in doing so?
  
</description><link>http://ayende.com/2431/on-ryo-vs-nih#comment1</link><guid>http://ayende.com/2431/on-ryo-vs-nih#comment1</guid><pubDate>Thu, 24 May 2007 23:23:34 GMT</pubDate></item></channel></rss>