2011-11-23 73 views
1

在閱讀有關設計模式時,我發現戰略優於模板的優點是它允許您在運行時封裝算法並調用它們,而模板依賴於子類化。但模板具有通過子分類最大化代碼重用的優勢。因此,應用DRY原則的模板是更好的模式。但是,如何停止使用策略模式,並在算法實現中使用模板模式來共享每個算法之間通用的代碼,或者這是一個壞主意?戰略與模板

回答

1

沒有什麼能夠阻止這兩種模式的組合。使用策略使您的算法可選,並使用模板方法實現它們,以重用算法的常見部分。

在現實生活中,模式經常被組合在一起,一個班級可以參與多種模式,並且具有不同的角色。