2012-02-19 228 views
0

我一直試圖讓我的頭圓廠模式和依賴注入,我理解這兩種模式背後的概念和基礎知識,可以輕微交叉。但在我開始編碼之前,我只想檢查我的流程方法是否正確。PHP工廠模式依賴注入

我的預期流量將是...

  1. 創建格式 $配置需要我的「核心課程」的所有屬性配置文件[「core.classname」] ['PROPERTY_NAME 「] = $值;

  2. 創建一個工廠類,將創建我的所有核心類的實例,並通過配置文件注入的屬性在每個類

  3. ,當我的應用程序需要一個類的實例上運行,它使用工廠類來克隆已注入依賴關係的所需類。

按照我的理解,這將脫鉤我的核心類,允許他們進出我的代碼更容易被交換。

回答

2

你在調用'工廠'實際上更多的是依賴注入容器。傳統上,工廠只創建一種類型的對象。

一般而言,您應該避免創建任何核心實例,直到您的應用程序實際需要它爲止。您可能定義了100個核心類,其中任何給定的應用程序請求可能只需要一對。

在許多情況下,您的應用程序會希望共享相同的實例或核心類,因此自動克隆可能不是您想要的。

考慮通過服務讀數(你叫什麼核心)中的Symfony2框架封裝的想法章: http://symfony.com/doc/current/book/service_container.html