我有一个接口(boxes = cat(1, m.Centroid);
imshow(pic)
hold on
plot(boxes(:,1),boxes(:,2), 'b*')
hold off
)和该接口的两个实现(ICommonInterface
,WrapperImplementation
)。
一个实现利用了另一个实现...即CoreImplementation
在其构造函数中具有一个WrapperImplementation
参数,该参数预期为ICommonInterface
如何将它们组合在一起的一个示例是:
CoreImplementation
使用流利的方法(出于我们的目的,此方法以前非常有效):
public interface ICommonInterface
{
void DoSomething();
}
public class CoreImplementation: ICommonInterface
{
public CoreImplementation()
{
}
public void DoSomething()
{
//some implementation
}
}
public class WrapperImplementation : ICommonInterface
{
private readonly ICommonInterface _coreImplementation;
public WrapperImplementation(ICommonInterface coreImplementation)
{
_coreImplementation = coreImplementation;
}
public void DoSomething()
{
_coreImplementation.DoSomething();
}
}
如何使用XML配置执行相同的操作?
container.Register(
Component.For<ICommonInterface>().ImplementedBy<MyNameSpace.WrapperImplementation>().Named("WrapperImplementation").LifestyleSingleton(),
Component.For<ICommonInterface>().ImplementedBy<MyNameSpace.CoreImplementation>().Named("CoreImplementation"));
我已阅读以下内容,但看不到Fluent的等效XML配置: