我使用策略設計模式實施了兩種不同的具體策略,第二種嚴重地重複使用第一種代碼,同時花費在其上。我想知道這是否「打破」了戰略設計模式的優勢,或者這是否有所不同?有沒有更好的方法來做到這一點,比如讓一個抽象類實現策略接口,並且從這個抽象類繼承兩個策略?策略設計模式中不同具體策略之間的依賴關係?
另一種方式來看待這個問題是:戰略設計模式的優點的事實,不同的策略可以在任何其他策略的添加和刪除,而不影響幹?如果是這樣,我應該將代碼複製到更復雜的具體策略中嗎?根據他們對某些類似關鍵字如何
第一排序的所有文章:
在我的具體情況,我採取兩種不同的文章分類器的策略。
第二個策略第一排序的所有作者,然後排序基於它們對類似關鍵字如何調用的第一個具體戰略,會在每個作者的文章。
這是一個合適的設計?
如何將簡單策略集成到更復雜的策略中? – raina77ow
我編輯了這個問題以明確我所要求的 - 對(新增加的)第二段的回答將決定聚合策略是否合理。 – insertjokes
我仍然認爲使用合成來彌合兩種策略之間的差距更容易。檢查[這個答案](http://stackoverflow.com/questions/13842420/combining-composite-and-strategy)看看它是如何做到的。 – raina77ow