策略模式 簡單工廠 強強聯合

2021-06-01 14:06:33 字數 990 閱讀 1765

分析詳見:

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.windows.forms;

//設定金額預設值,提高程式健壯性,全域性變數

double total = 0.0d;

private void btnok_click(object sender, eventargs e)

private void btncancel_click(object sender, eventargs e)

}}//簡單工廠和策略模式的結合:將選擇判斷封裝分離客戶端,通過字串變數來實現。

class cashcontext

}//通過此方法計算實際金額,並顯示出來。

public double getresult(double money)

}//定義演算法的公共介面

abstract class cashsuper

//定義具體算法子類

//正常收費子類

class cashnomal : cashsuper }

//打折收費子類

class cashrebate : cashsuper

//返回打折後的金額

public override double acceptcash(double money)

}//返利收費子類

class cashreturn : cashsuper

//計算返利收費金額

public override double acceptcash(double money)

}

策略模式和簡單工廠模式

策略模式和簡單工廠模式有什麼不同額?最近在學習設計模式,遇到這兩種模式,有點兒迷糊?簡單工廠模式 public class operation return result private double numbera 0 public double numbera set private doubl...

簡單工廠模式和策略模式

兩種模式如出一轍,基本方式都是通過將相同的行為封裝在乙個抽象父類 或介面 中,然後子類繼承該抽象父類並對該相同的行為進行不同的實現。簡單工廠模式 目的在於根據不同的條件建立不同的子類,工廠類的作用就是建立類。策略模式 比簡單工廠模式多了乙個context類,該類中保持對乙個策略父類的引用。該模式對策...

簡單工廠模式和策略模式

簡單工廠模式是用來當客戶端要判斷採用什麼方法時,把這部分判斷分離出來,放到工廠類中,只要輸入可以鑑別的資訊時就可了,比如計算時的符號,然後在工廠類中判斷用哪種運算類。選擇類 而策略模式中,在工廠類中呼叫的類,他的方法的引數形式可能是不同的,這時候就是不同的策略,那麼就需要建立不同的策略,這時候我們就...