有時我們設計多個算法來獲得相同的結果。例如,我編寫了一個將數據存儲在樹中的類,另一個類存儲了大致相同的數據,例如鏈接列表。使用類/方法的不同實現的設計模式
我將發佈一個名爲ThingStore的接口(抽象類),並將其分類爲TreeThingStore和ListThingStore,每個分別使用樹或鏈接列表。因爲我發佈了一個抽象類,所以我必須有人來決定使用哪個實現(EDIT:因此調用者不會在乎這個),並且我沒有這個問題硬編碼。我不止一次需要這個,但我已經看不清楚GoF和其他設計模式目錄。最相似的模式是「策略」模式,但它實現了多種目標。
那麼,這種意圖是否有設計模式?如果不是,有人可以創建一個或告訴我爲什麼不應該這樣做(或更好的方法來實現相同的結果)?
也許我還沒有明確表態。來電者不在乎我如何實施。這正是我需要某種方式的原因,以便它創建一個對象而不關心它將使用哪種算法 – 2010-01-07 11:14:46
也許一個實現是基本和免費的,您需要爲另一個實現付費。 – 2017-09-05 15:18:21