1
爲什麼在我看來,使用Strategy只是推遲了工廠的if/else? 使用策略,工廠不需要找出實例化哪個具體類,而不是通過if/else來實現嗎?策略模式替換if/else或case語句
是另一種選擇,以某種方式使用Map/List,並將鍵作爲要實例化的類的名稱,也許該類使用名稱中的Factory pass?
爲什麼在我看來,使用Strategy只是推遲了工廠的if/else? 使用策略,工廠不需要找出實例化哪個具體類,而不是通過if/else來實現嗎?策略模式替換if/else或case語句
是另一種選擇,以某種方式使用Map/List,並將鍵作爲要實例化的類的名稱,也許該類使用名稱中的Factory pass?
Map \ List是工廠模式的實現。
使用策略模式比if \ else更好,因爲它創建了les耦合代碼。 使用Factory + Startegy,您可以擴展處理算法而無需觸摸客戶端代碼,並且可以使用更多方式來配置代碼dynamicaly(withot recompile)。