linkin大話設計模式 策略模式

2021-06-26 03:43:53 字數 1871 閱讀 3979

strategy[ˈstrætədʒi]  策略

策略模式用於封裝系列的演算法,這些演算法通常被封裝在乙個稱為context的類中,客戶端程式可以自由的選擇任何一種演算法,或者讓context來為客戶端提供乙個最佳的演算法。說白了,使用策略模式就是為了支援演算法的自由切換。

策略模式是對演算法的包裝,是吧使用演算法的責任和演算法本身分割開來,委派給不同的物件管理。

策略模式通常把乙個系列的演算法包裝到一系列的策略類裡面,作為乙個抽象策略類的子類。

一句話來形容:準備一組演算法,並將每乙個演算法封裝起來,使得他們可以互換。

策略模式涉及到三個角色:

環境角色:持有乙個

strategy

類(策略類)的引用

抽象策略角色:策略類,通常由乙個介面或者抽象類實現

**如下:

//顯示客戶端 根據不同的策略選擇 會有不能的實現演算法來處理邏輯

public class strategy

public double getdiscountprice(double price)

return this.strategy.getdiscount(price);

}public static void main(string args)

}//演算法的介面

inte***ce discountstrategy

//下面幾個是演算法介面的實現 要是增加乙個演算法就增加乙個實現就好 還是比較方便的

大話設計模式 策略模式

前言 做事情的時候我們需要動動腦來簡化自己完成任務的負擔,這就需要講究策略了,我們會根據自己所處的環境列出所有的可能條件,再從中挑選合適的方法來完成這件事。就像我們過年回家,我們可以選擇高鐵 普通火車 還可以選擇硬座 軟座 臥鋪,這都是我們回家的策略 買不到直達的還得轉戰好幾個火車站,策略的最終到達...

大話設計模式 策略模式

前言 做事情的時候我們需要動動腦來簡化自己完成任務的負擔,這就需要講究策略了,我們會根據自己所處的環境列出所有的可能條件,再從中挑選合適的方法來完成這件事。就像我們過年回家,我們可以選擇高鐵 普通火車 還可以選擇硬座 軟座 臥鋪,這都是我們回家的策略 買不到直達的還得轉戰好幾個火車站,策略的最終到達...

大話設計模式 策略模式

上篇文章 大話設計模式 簡單工廠模式告訴了我們乙個網咖收費工廠物件怎樣建立收費形式 白天收費 夜間收費 的例項。簡單工廠 中有非常多 case分支語句 假設我們還想填加收費的形式 比方會員收費啊,通宵收費啊 就須要修改工廠 每次維護和擴充套件都要花費非常多時間,另外修改非常easy造成紕漏 比方之前...