service-locator

    2熱度

    3回答

    我目前停留在試圖編寫不依賴服務位置的工廠類。 我能想到的唯一的另一種選擇是使用構造函數注入來注入所有可能的實例,但這可能會導致意外,因爲類是通過引用傳遞的。 一旦可能的供應商數量增長,它也可能會變得昂貴和混亂。 提供者本身是完全複雜的類,它們有自己的依賴關係,因此手工構建不在圖片中。 更新服務位置例如: public class ProviderFactory : IProviderFactory

    0熱度

    2回答

    我在Module.php實施Zend的驗證通過創建getServiceConfig()樣AuthenticationService對象全局可用: 'AuthService' => function($sm) { $dbAdapter = $sm->get('Zend\Db\Adapter\Adapter'); $dbTableAuthAdapter = new

    0熱度

    1回答

    我有一個創建文本文件處理策略的引擎。這些文件採用各種格式,引擎通過將文件傳遞給一系列策略來選擇適當的策略,直到其中一個策略聲明它可以解析它。 這不是經典的戰略模式。它與服務定位器模式和責任鏈模式有些相似,並可能包含其中的任何方面。 剝離下來,它看起來有點像這樣,儘管它目前與注射創建: public class EngineImpl { private Set<Strat> str

    2熱度

    2回答

    我正在試圖靜態檢查variadic模板參數列表中是否存在類型。但是,此模板列表實際上存在於傳遞單一類型的類中。答案here顯示瞭如何檢查參數列表或參數包,但我不確定如何測試包含可變參數模板的類。 例如 template <typename ...S> class Services {}; template <typename Services> class ServiceLocator

    4熱度

    2回答

    我使用DI編寫了一個大型應用程序。應用程序由初始化時的引導程序組成,其中大多數依賴項都被注入。一切皆好。 但是,有一些服務*,我不能簡單地注入到處。一個很好的例子是日誌服務。這是一個日誌,因此,解決方案中的每一個類都可能希望將其用於調試或跟蹤目的。並不是每個類都是在初始化時創建的,有些是由第三方提供的(應用程序有點像框架)。現在,我的解決方案是使用單例;我甚至爲singleton創建了一些包裝類,

    2熱度

    1回答

    我已經構建了一個內部MVC PHP框架,現在我正在努力實施DI容器。我已經採用了疙瘩作爲DiC,我已經閱讀了Chris Hartjes的書「The Grumpy Programmer's Guide To Building Testable PHP Applications」(我發現它非常好,鼓舞人心的閱讀,將推薦它高度!),這談話讓我更加了解TDD 。無論如何,如果我在框架的核心部分獲得了一個D

    6熱度

    3回答

    我使用MEF和我有兩個出口具有相同的合同類型,但具有不同的合同名稱 如: [Export("TypeA", typeof(MyPlugin))] [Export("TypeB", typeof(MyPlugin))] 我可以使用檢索每個出口其各自的合同名稱: ServiceLocator.GetExportedValues<MyPlugin>("TypeA"); 但現在我想找回實施MyP

    4熱度

    2回答

    由於ServiceLocatorAwareInterface可能爲removed from the AbstractController in ZF3,因此依賴關係應該通過構造函數或setter方法傳遞。 考慮到這一點,考慮用戶或站點控制器的用例,其中包括註冊,激活帳戶,登錄,註銷等操作。至少需要一個UserService和2個表單。添加幾個相關的操作(遠程驗證,帳戶鏈接等),最終得到4或5個表單

    4熱度

    1回答

    我正在使用緩存javax.naming.Context#lookup調用結果的服務定位器實現,並將其映射到所請求的EJB接口,因此所有後續請求(對於同一個EJB)在第一個請求之後返回緩存實例。 我的擔憂是: 由於相同的情況下被使用,不存在 服務器EJB池這將成爲多個同時發生的請求 與多個EJB(除非底層服務器的邏輯不知何故使得利用 使用EJB池的) 無狀態和有狀態EJB是線程安全的,但由於再次使用

    0熱度

    1回答

    實際上,在我的ZF2項目中,我爲模型,表單等創建了基類。例如:我注意到我可能需要在我的模型中使用ServiceLocator,所以我創建了實現ServiceLocatorAwareInterface的Application \ Model \ Base類。這也適用於我的表格。 我在想如果這是做這個或者我應該在構造函數中傳遞依賴的最好方法。所以我今天帶着一個問題: 我有一個窗體(Applicatio