我目前停留在試圖編寫不依賴服務位置的工廠類。 我能想到的唯一的另一種選擇是使用構造函數注入來注入所有可能的實例,但這可能會導致意外,因爲類是通過引用傳遞的。 一旦可能的供應商數量增長,它也可能會變得昂貴和混亂。 提供者本身是完全複雜的類,它們有自己的依賴關係,因此手工構建不在圖片中。 更新服務位置例如: public class ProviderFactory : IProviderFactory
我有一個創建文本文件處理策略的引擎。這些文件採用各種格式,引擎通過將文件傳遞給一系列策略來選擇適當的策略,直到其中一個策略聲明它可以解析它。 這不是經典的戰略模式。它與服務定位器模式和責任鏈模式有些相似,並可能包含其中的任何方面。 剝離下來,它看起來有點像這樣,儘管它目前與注射創建: public class EngineImpl {
private Set<Strat> str
由於ServiceLocatorAwareInterface可能爲removed from the AbstractController in ZF3,因此依賴關係應該通過構造函數或setter方法傳遞。 考慮到這一點,考慮用戶或站點控制器的用例,其中包括註冊,激活帳戶,登錄,註銷等操作。至少需要一個UserService和2個表單。添加幾個相關的操作(遠程驗證,帳戶鏈接等),最終得到4或5個表單