學習總結(二) 設計模式之策略模式

2021-09-13 13:17:06 字數 769 閱讀 6789

上次更了簡單工廠模式的介紹,這次來介紹一下我對策略模式的理解。

基於上一次的例子,我們可以用乙個context(環境角色)維護對策略的引用,然後在客戶端部分實現。這樣做的話,客戶端還是要分幾種情況去選擇例項化context類,所以結合工廠模式,把context也看作乙個工廠,將選擇的情況放在context裡去執行。以下是**:

/**環境角色*/

public

class

cashcontext

}public

double

getresult

(double money)

/**客戶端部分*/

public

static

void

main

(string args)

}

//簡單工廠下客戶端對策略的例項化

cashsuper csuper =cashfactory.

createcashaccept

(type)

;double newmoney = csuper.

acceptcash

(money)

;

//策略模式下客戶端對策略的例項化

cashcontext cc=

newcashcontext

(type)

;

設計模式二之策略模式

package 大話設計模式.策略模式 策略介面 public inte ce strategy 定義具體策略a,實現策略介面,重寫具體的演算法功能 public class concretestrategya implements strategy package 大話設計模式.策略模式 定義具體...

設計模式學習之策略模式

1.名詞解釋 策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的使用者。在不同的時間或條件應用不同的業務規則時,可以考慮使用策略模式 2.示例 策略抽象類 package designpattern.strategypattern pub...

設計模式學習總結 3 策略模式

策略模式 strategy 屬於行為模式 意圖 定義一系列的演算法,把它們乙個個封裝起來,並且使它們可以相互替換。本模式使得演算法可獨立於它的客戶而變化。什麼意思呢,我想的是,演算法獨立於客戶,我們把一些演算法具體實現封裝起來,成為具體的類,而每乙個演算法獨立為一種具體策略,把演算法和環境 cont...