策略與簡單工廠結合

2021-06-27 16:57:06 字數 1257 閱讀 6829

策略模式是一種定義一系列演算法的方法,從概念上看,所有這些演算法完成的都是相同的工作,只是實現不同,它可以以相同的方式呼叫所有的演算法,減少了各種演算法類與使用演算法類之間的耦合。

策略模式的strategy類層次為context定義了一系列的可供重用的演算法或行為。繼承有助於析取出這些演算法中的公共功能。

策略模式是用來封裝演算法的,但在實踐中,我們發現可以用它來封裝幾乎任何型別的規則,只要在分析過程中聽到需要在不同時間應用不同的業務規則,就可以考慮使用策略模式處理這種變化的可能性。

策略模式主要是通過提取出相同的功能進行封裝,然後利用繼承和多型進行完成整個過程。

下面上**:

namespace factoryandstrategy

double totalprice = 0.0d;

private void submitbutton_click(object sender, eventargs e)

private void form1_load(object sender, eventargs e)

);computermethod.selectedindex = 0;}}

abstract  class strategy

class normalcharge:strategy

}

class eightsale:strategy

}

class sevensale:strategy

}

class fivesale:strategy

}

class cashcontext

}public double contextcomputer(double price,int amount)}}

上面顯示的是乙個商場打折情況,根據不同的選擇計算出**。

根據實際情況選擇這種模式。

六 工廠與策略結合

工廠與策略結合 將工廠模式與策略模式結合使用 工廠模式 客戶端需要用到工廠和方法類 傳入引數 判斷選擇實體型別 返回例項化的型別 策略模式 客戶端需要用到策略和方法類 傳入的是 已經判斷選擇的例項化的 實體型別 宣告乙個方法,呼叫實體的方法 客戶端呼叫策略類的這個 結合後 客戶端只需用到工廠策略類 ...

簡單工廠和策略模式結合

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

簡單工廠和策略模式結合

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