這種模式屬於行為型模式, 他調整了方法的合理呼叫
策略模式將具體類和具體功能分開 使用組合的方式進行關聯 這樣減小了耦合 和**冗餘
狀態模式是將不同狀態以不同物件的形式展示 策略模式是將不同實現的方式以物件的形式展示
角色 :
context上下文(具體類) : 用於封裝策略物件
策略介面 : 抽象策略規則
具體策略角色(具體功能) : 策略的具體實現
以arrays工具類的sort方法分析
//這個相當於具體類
//通過傳入不同的c來實現不同的具體方法(策略)
public
static
void
sort
(t a, comparator<
?super t> c)
else
}
string[
] arr =
newstring
; integer[
] arr2 =
newinteger
;//通過不同類的compareto方法 來實現策略模式 (string實現的compareto 和 integer實現的compareto是不同的具體實現)
arrays.
sort
(arr, string:
:compareto)
; arrays.
sort
(arr2,integer:
:compareto)
;
設計模式系列之 策略模式
一 策略模式的概念 策略模式定義 定義一組演算法,將每個演算法都封裝起來,並且使它們之間可以互換。使用的場景 角色介紹 二 案列實現 小y最近在玩比較有情懷的經典遊戲魂斗羅.歸來,看著熟悉的場景,心裡感慨萬分,以前只是想著怎麼樣才能開掛式地打爆機,現在玩起來更多的是回味經典和享受運用不同的策略闖過不...
設計模式系列之 策略模式
一 策略模式的概念 策略模式定義 定義一組演算法,將每個演算法都封裝起來,並且使它們之間可以互換。使用的場景 角色介紹 策略模式通用uml 二 案列實現 小y最近在玩比較有情懷的經典遊戲魂斗羅.歸來,看著熟悉的場景,心裡感慨萬分,以前只是想著怎麼樣才能開掛式地打爆機,現在玩起來更多的是回味經典和享受...
設計模式系列 策略模式
設計模式一共分為三大類 建立型模式 5種 單例模式,工廠模式 包含簡單工廠 抽象工廠模式,建造者模式 原型模式 結構型模式 7種 介面卡模式 裝飾器模式 模式 外觀模式 橋接模式 組合模式 享元模式 行為性模式 11種 策略模式 模板方法模式 觀察者模式 迭代器模式 責任鏈模式 命令模式 備忘錄模式...