策略模式(strategy):它定義了乙個演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。
/// /// 現金收費抽象類
///
abstract class cashsuper
/// /// 正常收費子類
///
class cashnormal : cashsuper
}
/// /// 打折收費子類
///
class cashrebate : cashsuper
public override double acceptcash(double money)
}
/// /// 返利收費子類
///
class cashreturn : cashsuper
public override double acceptcash(double money)
}
/// /// 判斷
///
class cashcontext
}public double getresult(double money)
}
/// /// 程式主體
///
class program
}
執行結果: 設計模式 二 策略模式
定義演算法家族,分別封裝起來,讓它們之間可以互相替換,讓演算法變化,不會影響到使用者 good 適合類中的成員以方法為主,演算法經常變動 簡化了單元測試 因為每個演算法都有自己的類,可以通過自己的介面單獨測試。策略模式和簡單工廠基本相同,但簡單工廠模式只能解決物件建立問題,對於經常變動的演算法應使用...
設計模式(二) 策略模式
策略模式定義了演算法家族,分別封裝起來,讓它們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。我們來實現乙個簡單的商場收銀軟體功能來闡述策略模式 1.我們先來定義乙個收費方式的基類,如下 using system namespace strategy 2.收費方案,如下 usin...
設計模式 (二)策略模式
策略模式 abstract class abstract class strategy 演算法a class concretestrategya extends strategy 演算法b class concretestrategyb extends strategy 演算法c class con...