[英]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.