設計模式系列之 策略模式

2021-10-04 16:15:55 字數 826 閱讀 9946

這種模式屬於行為型模式, 他調整了方法的合理呼叫

策略模式將具體類和具體功能分開 使用組合的方式進行關聯 這樣減小了耦合 和**冗餘

狀態模式是將不同狀態以不同物件的形式展示 策略模式是將不同實現的方式以物件的形式展示

角色 :

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種 策略模式 模板方法模式 觀察者模式 迭代器模式 責任鏈模式 命令模式 備忘錄模式...