DynamicAopProxyの長短所 その2

id:wataru87さんより、トラックバックと言及いただいた。

メジャーなOSSで使われているのは実績や情報の入手も容易になるなどメリットもありますが、JavaでもCommons等がClassローダーで思わぬコンフリクトが起こってはまってしまうなどの問題がついて回るのが気になります。

RealProxyと二本立てにする場合に完全にプラグインな仕組みって可能なのかな
[DynamicProxyの長短所 /#87にっき]

.NETではサイド・バイ・サイドがあるので、Javaのjar-hellに比べるとましだが、万能ではないというのは確かにそうだと思う。ただ、これは運用の仕方で随分と緩和できると思う。
Castle.DynamicProxyのライセンスはApache License, Version 2.0であり、非常に柔軟な利用形態を取れる。例えばだが、特定のバージョンのDynamicProxyを自分たちのアセンブリに組み込んでしまうという方法も可能だろう。(Apache Licenseの解釈に間違いが無ければ、だが)

RealProxyとの選択をプラガブルにする方法は幾つか考えられる。そもそもDIコンテナが利用できる環境なのだから、それを使うのもよいし、一般的なサービスプロバイダ・パターンに則った実装をしても良いだろう。
s2dotnetに関してはid:sugimotokazuyaさんが案があると書いていたし、コミッタの考える楽しみを奪うのはイヤなので、これ以上深くは言及しないでおこう。
それにしても、AOPのためのプロキシの実装を選べるなんて、本家Seasar2にも無い機能だし、.NETならではの特徴が出てきていい感じではないだろうか。