我研究不同的 DI 模式。 现在我对懒惰的生命周期实现感兴趣。 例如,我想编写一个将工厂隐藏在服务接口(interface)后面的代理类。 任何现有的 IoC 容器 (.NET) 都可以在运行时动态创建这种代理类吗?
interface IService
{
void Foo();
void Bar();
}
class ServiceFactoryProxy : IService
{
private readonly Func<IService> _factory;
public ServiceFactoryProxy(Func<IService> factory)
{
if (factory == null) throw new ArgumentNullException("factory");
_factory = factory;
}
public void Foo()
{
_factory().Foo();
}
public void Bar()
{
_factory().Foo();
}
}
最佳答案
这是在 CaSTLe 中如何完成的:
http://litemedia.info/lazy-loading-property-with-castle-dynamicproxy2
关于.net - 任何现有的 IoC 容器都可以动态创建惰性代理类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9757953/