簡單工廠方法,工廠方法,抽象工廠方法

2021-07-04 22:39:23 字數 498 閱讀 9014

以大話設計模式計算器為例:

簡單工廠方法是由具體執行功能類,工廠類,客戶端構成,工廠類有case語句,負責建立不同的類,客戶端呼叫工廠類裡面的工廠方法,工廠類的工廠方法根據客戶端傳進去的引數new相應的類的物件返回給客戶端,客戶端得到返回的物件用該物件初始化該物件的成員變數最後呼叫該物件的方法執行計算,所以功能(計算)類是對客戶端暴露變數的,如果要增加類,即增加計算方法,需要增加具體的計算類外,還需要改工廠方法。

工廠方法是每乙個功能類對應乙個工廠類,但是這些工廠類是繼承自同乙個抽像工廠類,客戶端使用的時候使用抽象工廠的引用,new具體工廠的類,執行具體工廠方法得到功能物件,增加新的功能類的時候,只需要增加乙個功能類和修改客戶端,新建工廠類的物件推遲到了子類去實現。

抽象工廠是簡單工廠和工廠方法的結合,它具有多個抽象產品類和乙個抽象工廠類,每個抽象產品有多個具體產品,抽象工廠下有多個具體工廠,每個具體工廠負責乙個抽象產品下所有具體產品的例項新建,乙個具體工廠負責多個具體產品像簡單工廠方法,多個具體工廠負責多個抽象產品像工廠模式

簡單工廠vs工廠方法vs 抽象工廠方法

以乙個例子來表示 1.生產car 產品 我們可以直接car car new car 該工廠只生產這個產品。具體工廠 具體產品 1 1 2.當car的種類增多以後,我們引入簡單工廠。簡單工廠使用繼承和switch來顯示多型。我們將引入抽象工廠ca ctory。同時,產品將抽象為抽象產品。car car...

簡單工廠,工廠方法,抽象工廠

簡單工廠,工廠方法,抽象工廠都屬於設計模式中的建立型模式。其主要功能都是幫助我們把物件的例項化部分抽取了出來,優化了系統的架構,並且增強了系統的擴充套件性。本文是本人對這三種模式學習後的乙個小結以及對他們之間的區別的理解。簡單工廠 簡單工廠模式的工廠類一般是使用靜態方法,通過接收的引數的不同來返回不...

簡單工廠 工廠方法 抽象工廠

簡單工廠 乙個工廠類 根據傳入的參量決定建立出哪一種產品類的例項 直接乙個工廠類,內部通過 swith operator add類實現該介面 adddao implements dao dao的實現類 客戶端 dao dao new adddao dao.createoper 產生物件 這樣如果需要...