《大話設計模式 工廠模式》筆記

2021-09-01 05:33:07 字數 1132 閱讀 6841

1、簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,除去了與具體產品的依賴。

2、簡單工廠模式的問題:新增需要生產的類時,需要修改類的**。違背了開放-封閉原則。

3、工廠方法模式(factory method):定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類。工廠方法讓乙個類的例項化延遲到其子類。

4、工廠方法模式結構圖

5、書上的雷鋒案例

雷鋒類:

public class leifeng 

public void cook()

public void clean()

}

大學生子類:

public class undergraduate extends leifeng
志願者類:

public class undergraduate extends leifeng
工廠介面:

public inte***ce ifactory
大學生工廠類:

public class undergraduatefactory implements ifactory 

}

志願者工廠類:

public class voluntee***ctory implements ifactory 

}

客戶端**:

public class client 

}

6、總結

1、克服了簡單工廠違背開放-封閉原則的問題,又保持了封裝物件建立的優點。

2、直接能看到和簡單工廠不同的地方在於,建立相同物件時,簡單工廠需每次使用***x.***("****")建立物件。工廠模式在建立當前物件工廠後只需每次呼叫建立方法,就可以獲得多個物件。

3、相比於簡單工廠的好處就在於修改時,無需每條**都修改,而只需要修改建立的物件工廠類。

大話設計模式 簡單工廠模式 學習筆記

此篇為學習設計模式 簡單工廠模式 教材為 大話設計模式,同時很感謝作者,本書對自己幫助很大。過程中的一些源 筆記和感悟,如有理解不到位或者錯誤之處,敬請指教。簡單工廠模式例項 計算器 設計思想 1.建立乙個運算類 operation 其中有a b以及對a b的賦值屬性 並建立乙個可以返回結果的函式 ...

大話設計模式學習筆記 簡單工廠模式

目錄 抽象運算類 加法實現類 減法實現類 乘法實現類 除法實現類 簡單工廠類 客戶端 運算類 public abstract class operation public void setnumbera double numbera public double getnumberb public v...

大話設計模式 工廠模式 策略模式

工廠模式 以商場收費系統為例。打折 正常 送積分等手段 首先,有乙個抽象類cashsuper 收費操作,有三個繼承cashsuper的子類 cashnormal具體操作,重寫函式 其次,寫乙個cashfactory工廠類,來生產具體的操作類cashnormal等。策略模式 先寫乙個策略抽象類,然後寫...