ウィンザーコンテナ:登録のものコードvs Xml
-
01-07-2019 - |
質問
から何を読んでいウィンザー/Microkernelでは理論的には可能なすべきなのxmlファイルのコードです。事実及び修正してください私について知っておきましょ違いに大きな貢献をウィンザー層では、xmlの設定もMicrokernelできています。
しかし、苦しんは最近発見することとどのように何らかの対策はやや複雑な機能コードがります。 どのように割り当てデフォルトのコンストラクタ引数値).現在から私は利用xml私の製品リリースは、登録の部品コード私の試験およびこっているので非常に問題がある。このはないものの、残念な状況を文書についてこの記事までを中心xmlに登録されます。
は誰もが知っているリストに登録方法についてもコード(好ましくは、xml相当額)?ベアリングの存在が、誰でも簡単知のオープンソース/サンプルプロジェクトが重要な非xml用ウィンザー城/Microkernel?
解決
私はいつも見つかりを見る単体テストの使い方を知るオープンソースプロジェクト.お城を堪能インタフェースできますか。から WindsorDotNet2Tests テストケース:
[Test]
public void ParentResolverIntercetorShouldNotAffectGenericComponentInterceptor()
{
WindsorContainer container = new WindsorContainer();
container.AddComponent<MyInterceptor>();
container.Register(
Component.For<ISpecification>()
.ImplementedBy<MySpecification>()
.Interceptors(new InterceptorReference(typeof(MyInterceptor)))
.Anywhere
);
container.AddComponent("repos", typeof(IRepository<>), typeof(TransientRepository<>));
ISpecification specification = container.Resolve<ISpecification>();
bool isProxy = specification.Repository.GetType().FullName.Contains("Proxy");
Assert.IsFalse(isProxy);
}
とより、チェックアウトは、 ComponentRegistrationTestCase や AllTypesTestCase
もありDSL用することで、これが私の希望のオプションで本当に簡素化物やホテルのすぐ近くは飲食面では貧弱やすい拡張性をもつ。のDSLを呼Binsorるにつなげていくかを学びます。 http://www.ayende.com/Blog/archive/7268.aspx そこで、最高のロケーションのためのinforのユニット。このコード例でしていただきましたのでbinsor:
for type in AllTypesBased of IController("Company.Web.Controller"):
component type
二つのライン登録を行っ型を受け継ぐIController界面のコンテナD