【发布时间】:2011-04-26 05:25:46
【问题描述】:
这是我目前所知道的:
DI 让我可以构建可重用、可单元测试的组件
DI 很冗长,因为它要求我显式设置依赖项(通过构造函数或方法。但我仍然不了解接口注入)。这就是需要容器或服务定位器的原因。
容器比服务定位器更好,因为类不需要知道它的存在。
但是我发现了这些问题:
现在某些类将依赖于 Container?如果我不为每个类使用默认配置,如我的服务文件中所述,某些类将需要调用容器来重新配置所需的对象。
在这张幻灯片 http://www.slideshare.net/fabpot/dependency-injection-with-php-53 的第 79 页上,Fabien Potencier 说容器不管理所有对象,只管理具有单个实例的对象(但不是单例)。我现在更困惑了。
非常感谢任何帮助。 =)
【问题讨论】:
标签: oop dependency-injection ioc-container