1. 程式人生 > >sincerit 策略模式(Strategy Pattern)

sincerit 策略模式(Strategy Pattern)

當我們在外面旅遊時會根據實際實際情況來選擇一種最合適的出行方式,在定製旅行計劃時,如果目的地較遠,時間不多,不差錢,可以選擇坐飛機去旅遊;如果目的地雖然較遠,但假期長且需要控制旅遊成本可以選擇做火車或汽車。在軟體開發中,也常常遇到類似的選擇的情況,實現某一個功能有多種方法,每種方法對應一種演算法,此時可以使用一種設計模式來靈活的選擇方法解決問題,也能夠方便的增加新的解決演算法,這就是策略模式的只要思想
在我看來策略模式跟簡單工廠模式有點相似,這裡的每一種演算法都封裝成一個策略,在把所有的策略抽象出一個抽象層也就是抽象策略類(Strategy)

策略模式:定義一系列的演算法類,將每一個演算法封裝起來,並讓他們相互替換(相互呼叫)