4

我有以下需要在我的程序开始时设置的依赖项:

//Set up dependencies
$fileSettings  = array(12, 'extra_lines', 'close_on_save');
$exporter      = new Exporter('exporterpath/filename.txt', $fileSettings);
$outputStream  = new OutputStream();
$businessModel = new BusinessModel('param1', 'param2');

//Run application
$application   = new Application($exporter, $outputStream, $businessModel);
$application->start();

所以在这里你可以看到我的主应用程序有一些依赖项,这是引导程序所需的代码,以便注入所需的一切。

这是否保证依赖注入容器?

如果不是,工厂方法会更合适吗?

4

1 回答 1

2

这是一篇很好的依赖注入文章(甚至是 PHP!)。

http://fabien.potencier.org/article/12/do-you-need-a-dependency-injection-container

来自文章:

大多数时候,您不需要依赖注入容器即可从依赖注入中受益。

但是,当您需要管理具有大量依赖项的大量不同对象时,依赖注入容器会非常有用(例如考虑一个框架)。

我相信正确的答案与你的场景有多复杂有关。在某些时候,某处某处必须知道如何将所有这些放在一起。如果它变得乏味和丑陋,那么可能是时候使用容器了。

实际上,您实际上不必有一个容器。这通常是一个好主意,因为它提供了灵活性。

于 2012-08-26T14:39:02.327 回答