【发布时间】:2015-02-21 06:26:21
【问题描述】:
我开始认真考虑使用 IoC 容器会引发过度设计的解决方案(至少它会促使我尝试使用各种不必要的功能:)。
是时候将我的“IoC”反模式列表与社区的同步了..
我的短暂经验告诉我们,在每个应用程序启动时调用一次 Resolve 方法来解析一些基础设施单例并用它们启动“瞬态对象工厂”,这可以产生新的“更小的生命周期谷物工厂”,这绝对足够了。即使使这些工厂线程安全(例如,每个线程创建一个实例)也很容易通过在工厂中添加 10 行代码来实现......但这些工厂仍然比“库与 IoC 工具的集成”简单得多。拦截?只需创建自己的包装器...终身管理器/依赖策略/父容器?仅在引导程序中调用 Resolve 一次,您就不会考虑这一点。
您能否帮助我理解为什么开发人员在不同的应用程序层上多次调用 Resolve(通过传递容器或通过将委托传递给容器)然后有很多事情要考虑?我真的很担心我错过了什么。
【问题讨论】:
-
好点。您可以对此进行详细说明吗?
标签: ioc-container