定義:對類的例項化過程進行了抽象,能夠將軟體模組中物件的建立和物件的使用進行分離。為了使軟體的結構更加清晰,外界對於這些物件只需要知道他們共同的介面,而不需要知道具體的實現細節,是整個系統的設計更加符合單一職責的原則。
1 模式結構
2 優點
3 缺點1 模式動機
為了彌補簡單工廠模式的缺點,即擴充套件新的產品類的時候,需要修改工廠類的**,違反了開閉原則,我們首先定義乙個抽象工廠類,在定義具體的工廠類,實現在抽象工廠類中定義的方法,這種抽象化的結果使這種結構可以在不修改具體工廠類的情況下引進新的產品。這種特性使得工廠方法模式具有超越簡單工廠模式的優越性,更加符合開閉原則。
2 模式結構
3 優點
工廠方法模式在簡單工廠模式優點的基礎上,另外乙個優點是在系統中加入新產品時,無需修改抽象工廠和抽象產品提供的介面,無需修改客戶端,無需修改具體工廠和具體產品,而只需要新增乙個具體工廠和具體產品即可。這樣的系統可擴充套件性更強,更加符合開閉原則
4 缺點1 模式動機
在工廠方法模式中具體工廠負責生產具體的產品,每乙個具體工廠對應乙個具體的產品,工廠方法也具有唯一性,但是有時候我們需要乙個工廠可以提供多個產品物件,而不是單一的產品物件。
抽象工廠模式與工廠方法模式最大的區別是:工廠方法模式對應的是乙個產品等級結構,而抽象工廠模式則需要面對的是多個產品等級結構。
2 模式結構
3 優點
抽象工廠模式在工廠方法模式優點的基礎上,還有當乙個產品族中的多個物件被設計成一起工作時,他能保證客戶端只使用同乙個產品族中的物件,這對一些需要根據當前環境來制定其行為的軟體系統來說,是一種非常實用的設計模式
4 缺點
開閉原則的傾斜性,增加新工廠和新產品族容易,增加新的產品等級結構麻煩。
1 模式動機
建造者模式可以將部件和其組裝過程進行分開,使用者只需要指定乙個複雜物件的型別就可以得到該物件,而無需知道其內部複雜的構造細節
2 模式結構
3 模式分析
該模式結構中引入了指揮類,該類的作用分為兩部分
4 優點
5 缺點1 模式動機
再軟體系統中,有些物件的建立過程較為複雜,並且有時候需要頻繁建立,原型模式通過給出乙個原型物件來指明所要建立物件的型別,然後用複製這個物件原型的辦法來建立出更多同型別的物件,這就是原型模式的意圖所在。
2 模式結構
3 優點
簡化物件的建立過程,通過乙個已有的例項可以提高新例項的建立效率
4 缺點
需要為每乙個類配備乙個轉殖方法,而且這個轉殖方法需要對類的功能進行通盤考慮,這對全新的類不難,但對已有類進行改造時,不一定是一件容易的事,必須修改其源**,違背了「開閉原則」
1 模式動機
對於系統中的某些類來說,只有乙個例項很重要。例如系統中可以存在多個列印任務,但同時只能由乙個正在工作的列印任務。乙個系統只能有乙個系統管理器和檔案管理系統。乙個系統只能有乙個計時工具
2 模式定義
單例模式確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個例項。單例模式的三個要點是:
3 模式結構
4 模式分析
單例類擁有乙個靜態私有成員變數和靜態公有的工廠方法,該工廠方法檢驗例項的存在性並例項化自己,然後儲存在靜態成員變數中,以確保只有乙個例項被建立
5 優點
6 缺點 擴充套件
設計模式之建立型模式
設計模式被分成了三大型別 建立型 結構型和行為型。本文介紹一下建立型模式。建立型模式包括抽象工廠模式 建造者模式 工廠方法模式 原型模式和單例模式。好處 1 易於交換產品系列,由於具體工廠類,在乙個應用中只需要在初始化的時候出現一次,這就使得改變乙個應用的具體工廠變得非常容易,它只需要改變具體工廠即...
設計模式之建立型模式
設計模式 是指在軟體開發中,經過驗證的,用於在特定環境下 重複出現的 特定問題的解決方案。創 建型模式 抽象了物件例項化過程,用來幫助建立物件的例項。包括 簡單工廠模式 factory 工廠方法模式 factory method 抽象工廠模式 abstract factory 建造者模式 build...
設計模式之建立型模式
建立型模式主要關注物件的建立過程,將物件的建立過程進行封裝,使客戶端可以直接得到物件,而不用去關心如何建立物件。有五種建立型模式 1.單例模式 singleton 意圖 保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。優點 2.工廠方法模式 factorymethod 意圖 1 定義乙個用於...