顧名思義,創建型模式的聚焦點在如何創建對象能夠將對象的創建與使用最大化的分離從而降低系統的耦合度。 ...
顧名思義,創建型模式的聚焦點在如何創建對象能夠將對象的創建與使用最大化的分離從而降低系統的耦合度。
創建型模式可分為:
- 單例模式:一個類只能有一個實例對象
- 工廠模式:
- 簡單工廠模式:聚焦單個產品種類的創建(客戶端無法擴展)
- 工廠方法模式:聚焦單個產品種類的創建(客戶端可自擴展具體的產品)
- 抽象工廠模式:聚焦多個產品種類的創建(客戶端可自擴展固定產品種類下的產品)
- 原型模式:創建一個對象,然後通過複製的方式創建其他對象
- 建造者模式:不僅考慮創建對象,還需要給對象的屬性賦值
【工廠模式舉例】:
假如生產一種飲料類,其中有可樂,雪碧,橙汁三種飲料。簡單工廠模式的設定就是用戶只有這三種飲料可選。
而工廠方法模式就是用戶可在飲料類的基礎上可以再擴展出茶π,脈動這樣的飲料。
對於抽象工廠來說,不滿足於飲料類下各種飲料的擴展,而是和飲料類平級的比如食物類,球類這樣的類別創建。
那麼對於用戶來說,可以使用飲料類,食物類,球類,也可類的基礎上實例化不同的對象,比如飲料類可以擴展出尖叫,樂虎這樣的飲料,食物類和球類除了服務端定製的之外,也可自行擴展。上述所說的多個產品種類就是指向飲料類,食物類,球類...等等這一級別。
【抽象工廠的限制】:抽象工廠的多個產品是在服務端定製的,也就是說,客戶端可以實現多個產品種類下的具體產品創建,但是無法擴展更多的產品種類。
-----------------------------------------------------------------------------------------------------------------------2019.8.13