2
A
回答
2
是的,IoC和Factory是两回事。 IoC实际上是一个更通用的术语,许多事物都被认为是IoC,所以它有助于进一步改进您所指的内容。例如,从技术上讲,任何回调或事件都被认为是IoC的实现。然而,大多数人在谈论IoC时意味着依赖注入。
您可以使用Factory实现控制反转,就像您可以使用依赖注入来实现它一样。
你可能想到的是一个依赖注入容器,如Unity,Windows或Ninject。 DI容器是一种美化的抽象通用工厂,但它的功能远不止于此,包括对象生命周期管理,条件绑定等...
将模式(IoC或DI)从(Factory,DI Container,Poor mans DI等),即使这些实现本身也可能是模式。
2
控制容器的反转不主要用于依赖注入。这是让容器控制对象的生命周期。因此inversion of control
。
这就是为什么你总是指定一辈子,当你在容器中注册的事情(或者只使用默认寿命)
然而,由于容器为您创建的对象,它也可以提供依赖注入作为额外特征。所以这真的是一个奖金。
另一方面,工厂模式应始终创建一个新的对象。工厂模式的目的仅仅是为您创建正确的实施。
相关问题
- 1. 工厂模式设计
- 2. iOS工厂设计模式
- 3. 关于工厂设计模式
- 4. 了解抽象工厂设计模式中的抽象工厂设计模式
- 5. 设计模式名称:是工厂吗?
- 6. 根据IoC和抽象工厂模式的类设计
- 7. 页面工厂设计模式硒
- 8. php工厂模式设计问题
- 9. PHP设计模式工厂,仓库和...?
- 10. Backbone.js的工厂设计模式实现
- 11. WCF和工厂设计模式
- 12. 工厂设计模式扩展
- 13. 工厂设计模式VS构造器
- 14. 工厂设计模式禁止?
- 15. 工厂方法设计模式
- 16. 抽象工厂设计模式c#
- 17. 设计构建或工厂模式
- 18. 了解PHP的工厂设计模式
- 19. 工厂设计模式(需要批判)
- 20. 工厂设计模式问题
- 21. c#工厂设计模式winforms
- 22. 抽象工厂设计模式 - C#
- 23. 设计模式 - 抽象工厂 - BombedMazeFactory
- 24. 代理设计模式与IoC
- 25. 哪种设计模式与工厂模式相反?
- 26. 工厂和非工厂设计模式差异
- 27. 工厂设计模式:工厂可以保存实例吗?
- 28. 设计模式
- 29. 设计模式:
- 30. 设计模式
“控制反转”中的“控制”与对象的生命周期无关,请参阅http://en.wikipedia.org/wiki/Inversion_of_control – yegor256