大話設計模式 第二章 策略模式

2022-03-20 11:58:28 字數 1498 閱讀 1883

策略模式(strategy):它定義了演算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到試用演算法的客戶。

1,定義現金抽象類:

///

///現金父類

/// public

abstract

class

cashsuper

2,定義各個演算法類,全部繼承自現金父類:

view code

///

///沒有活動的現金類

/// public

class

cashnormal : cashsuper

}

//////

打折類

/// public

class

cashrebate : cashsuper

public

override

double acceptcash(double

money)

}//////

返回現金類

/// public

class

cashreturn : cashsuper

public

override

double acceptcash(double

money)

}

3,定義現金上下文類,決定使用哪一種演算法,並例項化哪個演算法物件,這是工廠模式與策略模式的結合:

view code

///

///現金上下文,選擇哪種活動方式

/// public

class

cashcontext

}//////

輸入原價返回**

/// ///

原價

public

double getresult(double

money)

}

4,客戶端介面的設計:

5,客戶端後台**:

view code

public

partial

class

form1 : form

double total = 0.0

;

private

void buttonok_click(object

sender, eventargs e)

catch

(exception ex)

}private

void form1_load(object

sender, eventargs e)

;this

.combobox1.items.addrange(type); }}

大話設計模式 第二章(策略模式JAVA版)

策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。例子 author zdy create 2018 11 15 22 53 public abstract class cashsuper author zdy create 201...

第二章 Cach 設計模式 策略模式

思考 示例 可以隨意組合招數,增加三次打擊方法threefighting 而 工廠方法則需要呼叫三次。class pha.yx.design.strategy.context extends registeredobject method fighting method threefighting ...

第二章 策略模式

物件導向的程式設計,並不是類越多越好,類的劃分是為了封裝,但分類的基礎是抽象,具有相同屬性和功能的物件的抽象集合才是類。收費物件生成工廠 策略模式strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的使用者。商場收銀時如何 用打折還是...