我在BooCustom上实现了Decorator模式
public class BooDefault : IBoo{}
public class BooCustom : IBoo
{
public BooCustom(IBoo boo)
{
}
}
比我有一个组件Foo
public class Foo : IFoo
{
public Foo(IBoo boo)
{
}
}
取决于IBoo,只有这一点我需要BooCustom作为IBoo的实现。
依赖于IBoo但Foo的任何组件都将使用包括BooCustom在内的BooDefault。
只有Foo需要通过BooCustom而不是BooDefault来解决他的IBoo依赖。
如何使用windsor完成此分辨率?
Component.For<IFoo>().ImplementedBy<Foo>()
.Supply_BooCustom_as_Concrete_for_IBoo - Foo Dependency
答案 0 :(得分:0)
查看Handler Selectors。您应该能够创建一个检查请求IBoo的类型是否为Foo。如果是这样,它可以返回一个特定的组件(在这种情况下,BooCustom)。