23種常用設計模式之策略模式

2021-09-29 09:52:00 字數 991 閱讀 5299

策略模式(strategy pattern)是一種行為型模式,它定義了一組演算法,將每個演算法都封裝起來,並且使它們之間可以互換。

角色說明

舉栗上下文角色(context)

用來操作策略的上下文環境,遮蔽高層模組(客戶端)對策略,演算法的直接訪問,封裝可能存在的變化;

context

抽象策略角色(strategy)

規定策略或演算法的行為;

children

具體策略角色(concretestrategy)

具體的策略或演算法實現;

brother、youngerbrother、sister

public

class

context

public

void

start()

}

public

inte***ce

children

public

class

brother

implements

children

}

public

class

youngerbrother

implements

children

}

public

class

sister

implements

children

}

public

class

client

}

哥哥把梨子吃了

弟弟把梨子吃了

妹妹把梨子吃了

優點 缺點

策略類數量增多,且所有策略類都必須對外暴露,以便客戶端能進行選擇;

23種設計模式之策略模式

定義 定義一組演算法,將每個演算法都封裝起來,並且使他們之間可以互換。型別 行為類模式 類圖 策略模式是對演算法的封裝,把一系列的演算法分別封裝到對應的類中,並且這些類實現相同的介面,相互之間可以替換。在前面說過的行為類模式中,有一種模式也是關注對演算法的封裝 模版方法模式,對照類圖可以看到,策略模...

23種設計模式之 策略模式

策略模式也叫政策模式,它是將定義的演算法家族,分別封裝起來,讓他們之間可以相互替換,從而讓演算法的變化不會影響到使用演算法的使用者。public inte ce strategy public class contentstrategya implements strategy public cla...

23種設計模式 委派模式 策略模式

精簡程式邏輯,便於閱讀 其基本作用是負責任務的排程和分配任務,和 模式很像,可以看做是一種特殊情況下的靜態 的全權 但是 模式注重過程,但是委派模式注重結果。是一種行為型模式。一般delegate,dispatcher結尾的都是委派 老闆叫經理幹活,經理通過不同的內容叫不同的員工去做事情 首先定義介...