是知道一组类来抽象出特定的依赖注入库(Spring、城堡、StructureMap、Ninject.) ?
我们都使用DI容器来抽象出代码的特定实现,但我们也可以使用相同的接口/策略模式来使用特定的实现(如Castle.Windsor、Unity)编写基于通用接口的DI容器.等。
一般来说,从容器中获取和对象的基本模式是相当普遍的。例如:
IService service = IocContainer.Get<IService>();其中,IocContainer是围绕一个特定库实现(如Castle.Windsor、Unity)的通用包装类.等。
当然,除了编写可以“插入”的具体实现之外,每个实现都有自己的配置文件格式。
有人对DI容器的现有测试良好的包装器类有建议吗?
发布于 2012-04-23 23:39:49
所有这些包装器和容器抽象的问题是,它们将您限制在所有容器共享的功能的公共子集上。所以你才不应该这么做。相反,正确地使用您选择的容器:
。
使用这些简单的规则,您的容器只在一个地方已知--组合根--这使得容器的任何抽象都过时了。这样你就可以充分利用容器的能量。
https://stackoverflow.com/questions/10289594
复制相似问题