策略模式:http://pan.baidu.com/s/1slHd2tJ
參考網(wǎng)址:http://www.cnblogs.com/maowang1991/archive/2013/04/15/3023236.html
1.策略模式定義了一系列算法哈蝇,并將每個(gè)算法封裝起來(lái)官撼,使他們可以相互替換,且算法的變化不會(huì)影響到使用算法的客戶潦蝇。需要設(shè)計(jì)一個(gè)接口涉枫,
2.為一系列實(shí)現(xiàn)類提供統(tǒng)一的方法梧田,多個(gè)實(shí)現(xiàn)類實(shí)現(xiàn)該接口萌业,設(shè)計(jì)一個(gè)抽象類(可有可無(wú),屬于輔助類)乡范,提供輔助函數(shù)
3.策略模式的決定權(quán)在用戶配名,系統(tǒng)本身提供不同算法的實(shí)現(xiàn),新增或者刪除算法晋辆,對(duì)各種算法做封裝渠脉。因此,策略模式多用在算法決策系統(tǒng)中瓶佳,外部用戶只需要決定用哪個(gè)算法即可
4.策略模式有點(diǎn)類似于接口設(shè)計(jì)芋膘,或者橋接模式,傳入不同的對(duì)象霸饲,通過(guò)對(duì)象自己的方法去執(zhí)行函數(shù)