設計模式(二) 策略模式

2021-06-22 09:46:41 字數 837 閱讀 7689

策略模式(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...