設計模式應用三 策略模式

2021-10-06 06:37:46 字數 816 閱讀 9984

、商場打折 -策略可以簡單分為: 原價購買、滿減、返利三種策略:

、系統的操作都要有日誌記錄,通常會把日誌記錄在資料庫裡面,方便後續的管理,但是在記錄日誌到資料庫的時候,可能會發生錯誤,比如暫時連不上資料庫了,那就先記錄在檔案裡面。日誌寫到資料庫與檔案中是兩種演算法,但呼叫方不關心,只負責寫就是

、根據狀態進行相應的退貨處理。

、產品的搜尋方法能夠使用多種演算法對結果進行排序

、在公司周年慶的時候,所有的客戶額外增加3%的折扣;在換季**的時候,普通客戶是額外增加折扣2%,老客戶是額外增加折扣3%,大客戶是額外增加折扣5%。這意味著計算**的方式會經常被修改,或者被切換。通常情況下應該是被切換,因為過了**時間,又還回到正常的**體系上來了。

**:publicclass

client }

publicclass

catalogsearchengine

public

listsearch() }

publicinte***ce

sortstrategy

publicclass

quicksorterimplements

sortstrategy

public

list sort() }

設計模式(三) 策略模式

策略模式的結構圖 引用 模版方法模式,對照類圖可以看到,策略模式與模版方法模式的區別僅僅是多了乙個單獨的封裝類context,它與模版方法模式的區別在於 在模版方法模式中,呼叫演算法的主體在抽象的父類中,而在策略模式中,呼叫演算法的主體則是封裝到了封裝類context中,抽象策略strategy一般...

設計模式(三) 策略模式

在策略模式 strategy pattern 中,乙個類的行為或其演算法可以在執行時更改。這種型別的設計模式屬於行為型模式。在策略模式中,我們建立表示各種策略的物件和乙個行為隨著策略物件改變而改變的 context 物件。策略物件改變 context 物件的執行演算法 上圖 三個類都實現了介面定義的...

設計模式筆記(三) 策略模式

策略模式 定義的演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。策略模式是一種定義一種演算法的方法,從概念上看,所有這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有演算法,減少了各種演算法類與使用演算法類之間的耦合。優點 第...