アーキテクチャ指向なDIコンテナ

すぎもとさんのところにもちょっと書いたが、.NET スマートクライアント用にDIコンテナを書いて解ったことは、WebアプリケーションのDIコンテナの適用要件と、クライアント(GUI)アプリケーションのDIコンテナのそれは随分と違うということだ。特にリソースの使い方の戦略に関してはかなり神経を使う必要があり、現在でも改良の余地があると考えている。
私が現在使っているDIコンテナは、その考え方のベースはSeasar2だが、DTDアノテーションは拡張したものの、自動バインディング全般はオプション扱いだし、メタ情報の設定機能は無いし、式評価エンジンもいろいろと考えた末、重くなるのを嫌って、.NETの型コンバータで変換できる範囲以外はばっさりと削っている。それで十分使えるからだ。(http://d.hatena.ne.jp/Kazzz/20060516/p3)
本家Seasar2は今後、規模は大きくなることはあっても小さくなることは無いだろうし、どんどん機能が追加されて複雑化していくだろう。そんな中、コアのコンテナ部分だけを切り取った必要最小限の部分+アーキテクチャ依存の部分を組み合わせた、特定アーキテクチャ向けのDIコンテナってのもありなのではないだろうか。