entlib.jpでもエントリを書いてますが、p&p Summit 2006で発表されたObjectBuilderの資料が公開されています。
ObjectBuilder Dependency Injection Framework
このサイトで公開されているサンプルソースは、外部構成ファイルの設定値をOBを利用することでコンストラクタインジェクション形式で注入するDependencyContainerのサンプルなんですが、実際の動きを確認しようにもテストコードに該当コードが含まれていないんですよねぇ・・ってことで私の方で利用方法を示すテストケースを追加してみました。
entlib.jpサイトで公開しています。
DependencyContainerの該当コードはCreateFooTestというテストメソッド内に記述してますが、以下のような設定を構成ファイルに記述しておき、
<ContainerConfig xmlns='container-config'>
<Mappings>
<Mapping FromType='IFoo' ToType='Foo' />
</Mappings>
<BuildRules>
<BuildRule Type='Foo' Mode='Singleton'>
<Constructor>
<Value Type='System.Int32'>14</Value>
<Value Type='System.String'>Hello there</Value>
</Constructor>
<Method Name='Bar'>
<Ref Type='BarBar' />
<Value Type='System.Boolean'>false</Value>
</Method>
</BuildRule>
</BuildRules>
</ContainerConfig>
あとはテストメソッド内の以下のコードで注入することができます。
DependencyContainer container = new DependencyContainer("構成ファイルのXMLドキュメント");
IFoo foo = container.Get<IFoo>();
なかなかいけてますよ。