簡單工廠模式和策略模式的區別

2021-09-01 14:55:35 字數 999 閱讀 3138

首先看一下簡單工廠類和策略模式(context)類中**的區別:

簡單工廠類:

//現金收費工廠類

class cashfactory

return cs;

}}//客戶端程式主要部分

double total = 0.0d;

private void button1_click(object sender, eventargs e)

策略模式中context 類:

class context

public double getresult(double money)

}//客戶端主要**

double total =0.0d;

private void btnok_click(object sender,eventargs e)

double totalprices=0d;

totalprices=cc.getresult(convert.todouble(txtprice.text)*(convert.todouble(txtnum.text));

total = total + totalprices;

lbxlist.items.add("單價:" + txtprice.text + "數量" + txtnum.text + "" + cbxtype.selecteditem + "合計:" + totalprices.tostring());

label5.text = total.tostring();

}

從**中可以看出:簡單工廠類中根據接收的條件建立乙個相應的物件,而context 類接收的是乙個物件,然後執行該物件的方法。

簡單工廠模式和策略模式的區別:

簡單工廠模式:根據使用者選擇的條件,來幫使用者建立乙個物件

策略模式:使用者首先建立好乙個物件,根據物件來執行相應的方法。

簡單工廠模式和策略模式的區別

最近一直在抽時間研究設計模式,之前對設計模式也有一定的了解,但是都沒有平心靜氣的去研究過,只是了解了一些皮毛,最近打算再深入研究一下,重新開啟了設計模式的資料,對之前的疑問乙個個的刨根問底,今天看了簡單工廠模式和策略模式看的人有點小暈,兩個的大概思路沒有怎麼變,都是通過多型去減少 的耦合度,怎麼看兩...

簡單工廠模式和策略模式的區別

而下面是我的理解 按一般教程中出現的例子理解 簡單工廠模式 客戶端傳乙個條件進工廠類,工廠類根據條件建立相應的產品類物件,並return給客戶端,供客戶端使用。即客戶端使用的是工廠類生產的產品物件。策略模式 客戶端建立乙個context類物件a 可以看作是工廠模式中工廠類 建立乙個策略物件並傳參給物...

簡單工廠模式和策略模式的區別

按一般教程中出現的例子理解 簡單工廠模式 客戶端傳乙個條件進工廠類,工廠類根據條件建立相應的產品類物件,並return給客戶端,供客戶端使用。即客戶端使用的是工廠類生產的產品物件。策略模式 客戶端建立乙個context類物件a 可以看作是工廠模式中工廠類 建立乙個策略物件並傳參給物件a,然後客戶端使...