策略模式(strategy):它定義了演算法家族,分別封裝起來,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到試用演算法的客戶。
1,定義現金抽象類:
///2,定義各個演算法類,全部繼承自現金父類:///現金父類
/// public
abstract
class
cashsuper
view code
///3,定義現金上下文類,決定使用哪一種演算法,並例項化哪個演算法物件,這是工廠模式與策略模式的結合:///沒有活動的現金類
/// public
class
cashnormal : cashsuper
}
//////
打折類
/// public
class
cashrebate : cashsuper
public
override
double acceptcash(double
money)
}//////
返回現金類
/// public
class
cashreturn : cashsuper
public
override
double acceptcash(double
money)
}
view code
///4,客戶端介面的設計:///現金上下文,選擇哪種活動方式
/// public
class
cashcontext
}//////
輸入原價返回**
/// ///
原價
public
double getresult(double
money)
}
5,客戶端後台**:
view code
publicpartial
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 它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的使用者。商場收銀時如何 用打折還是...