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

2021-07-26 22:35:58 字數 395 閱讀 9520

而下面是我的理解:

按一般教程中出現的例子理解:

簡單工廠模式:客戶端傳乙個條件進工廠類,工廠類根據條件建立相應的產品類物件,並return給客戶端,供客戶端使用。即客戶端使用的是工廠類生產的產品物件。

策略模式:客戶端建立乙個context類物件a(可以看作是工廠模式中工廠類),建立乙個策略物件並傳參給物件a,然後客戶端使用a物件的某些方法來使用前面傳參進來的策略,即客戶端是通過a物件使用策略的。

簡單的說,

1、工廠模式根據條件生產出產品給客戶端用。而策略模式是客戶端使用傳參給context的策略(你也可以理成產品),傳入策略的不同,呼叫同樣方法得到的結果也不同。

2、工廠模式:客戶端是使用工廠類生產的物件進行操作,策略模式:客戶端使用自己傳給context的策略的物件進行操作。

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

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

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

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

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

首先看一下簡單工廠類和策略模式 context 類中 的區別 簡單工廠類 現金收費工廠類 class cashfactory return cs 客戶端程式主要部分 double total 0.0d private void button1 click object sender,eventarg...