簡體   English   中英

我在這里需要依賴注入容器嗎

[英]Do i need a dependency injection container here

我在程序開始時需要設置以下依賴項:

//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();

因此,在這里您可以看到我的主應用程序有一些依賴關系,這是引導程序所需的代碼,用於注入所需的所有內容。

這是否需要依賴項注入容器?

如果沒有,工廠方法會更適合嗎?

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

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

從文章:

大多數時候,您不需要依賴注入容器即可從依賴注入中受益。

但是,當您需要管理具有很多依賴關系的許多不同對象時,依賴關系注入容器會非常有用(例如,考慮框架)。

我認為正確的答案與您的方案有多復雜有關。 在某個時候,某處的某處必須知道如何將所有這些放在一起。 如果變得乏味和丑陋,那么可能是時候裝一個容器了。

其實,你從來沒有真正必須有一個容器。 因為它提供了靈活性,所以通常只是一個好主意。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM