策略模式(1)

2021-10-06 19:44:44 字數 1032 閱讀 6408

策略模式主要是指物件有某個行為,但是在不同的場景中,該行為有不同的實現演算法。

乙個類的行為或其演算法可以在執行時更改。

策略模式就是乙個介面下有多個實現類,而每種實現類會處理某一種情況。

如果乙個系統的策略多於四個,就需要考慮使用混合模式,解決策略類膨脹的問題。

環境類(context):用來操作策略的上下文環境

public

class

strategypattern

public

void

exe(

int m,

int n)

}

抽象策略類(strategy):策略的抽象

public

inte***ce

strategyinter

具體策略類(concretestrategy):具體的策略實現

public

class

strategyopeadd

implements

strategyinter

}

旅行的出遊方式,選擇騎自行車、坐汽車、坐火車、坐飛機,每一種旅行方式都是乙個策略。

老師評講試卷,一道題有多種解法。

掃瞄商戶訂單給商戶傳送通知,不同的交易型別,有不同通知報文。tx(提現),cz(充值)。

超市活動打折優惠:

普通計費

滿300減20,滿400減80

滿500打八折

狀態模式是隨著狀態的改變不停地更改執行方法。

好比我們旅遊,對於策略模式我們只需要選擇其中一種出行方法就好了。

對於狀態模式,可能我們到了a地點選擇的是火車,到了b地點又選擇飛機,根據不同的狀態選擇不同的出行方式。

工廠模式是建立型模式 ,它關注物件建立,提供建立物件的介面,讓物件的建立與具體的使用客戶無關。

策略模式是物件行為型模式 ,它關注行為和演算法的封裝 。

1 設計模式之策略模式

設計模式的一句話 過分設計是一種罪過,要根據專案實事求是,沒有任何一種設計是一步到位,很多功能都是根據反饋進行改善。1 背景 在實際開發中,我們常常遇見實現某種業務功能時,有許多不同實現方式,使用者可以任意選擇其中的一種方式。例如,在排序某個序列資料時,我們可以選擇氣泡排序 快速排序 插入排序 堆排...

設計模式 二 策略模式 1

策略模式 strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。結構圖 strategy抽象類,定義所有支援的演算法的公共介面。class strategy 演算法方法 virtual void algorithminte ce...

設計模式 一 策略模式 1

策略模式用到就是 多型 的思想,父類有多個子類,為同乙個行為實現不同的表現形式 舉例 1個中國人,1個印度人,他們都吃飯,但是中國人是用筷子,印度人是用手,這個就是多型,同一行為的2種實現方式 吃飯行為 public inte ce eating中國人和印度人 public class chines...