六 工廠與策略結合

2022-02-25 21:33:17 字數 800 閱讀 7779

工廠與策略結合:

將工廠模式與策略模式結合使用

工廠模式:——客戶端需要用到工廠和方法類

傳入引數

判斷選擇實體型別

返回例項化的型別

策略模式:——客戶端需要用到策略和方法類

傳入的是(已經判斷選擇的例項化的)實體型別

宣告乙個方法,呼叫實體的方法

客戶端呼叫策略類的這個

結合後:——客戶端只需用到工廠策略類

傳入引數

判斷選擇實體型別

宣告乙個方法,呼叫實體的方法

classcashcontextfactory

private cashsuper cs;

public cashcontextfactory (string type)

switch (type)

case "正常收費":

cs = new cashnormal();

break;

case "打八折":

cs = newcashrebhate("0.8");

break;

case "打七折":

cs = newcashrebhate("0.7");

break;

case "滿500送100":

cs = newcashreturn("500", "300");

break;

public double getresult(double monty)

return cs.acceptcash(monty);

策略與簡單工廠結合

策略模式是一種定義一系列演算法的方法,從概念上看,所有這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有的演算法,減少了各種演算法類與使用演算法類之間的耦合。策略模式的strategy類層次為context定義了一系列的可供重用的演算法或行為。繼承有助於析取出這些演算法中的公共...

策略模式與工廠模式的結合使用

定義了一組演算法 業務規則 封裝了每個演算法 這族的演算法可互換代替 interchangeable 抽象策略角色 策略類,通常由乙個介面或者抽象類實現。環境角色 持有乙個策略類的引用,最終給客戶端呼叫。為了方便比對傳入的場景值,選擇對應的策略處理類,定義乙個執行時註解 就是真正處理執行巡檢點位的實...

簡單工廠和策略模式結合

商場 活動 打折 滿額返現等等 主函式對工廠模式和策略模式結合的呼叫 class program cashsuper類定義 返回參加活動後結果,使用多型特性 public abstract class cashsuper 正常 打折和滿額返現的實現 public class cashnormal c...