單例模式(singleton),工廠方法模式(factory),門面模式(facade)

CEmperor,需要單例的類


說明:很多大臣拜見的皇帝,只有一個。體現在面向對象方面,CEmperor定義一個靜態指針,和一個靜態函數,私有化構造函數、析構函數、構造函數複製、重載賦值語句。

注意:線程安全,採用互斥體的方式實現。


Public class Singleton{
Private Singleton(){};
Public staticclass Singleton1{
Private staticfinal Singleton instance = new Singleton();
}
Public static Singleton getInstance(){
Return Singleton1.instance;
}
}

單例模式比較簡單,但在項目中使用的時候,需要明確只調用CEmperor的GetInstance函數來獲取實例

工廠方法模式:工廠方法模式的意義是定義一個創建產品對象的工廠接口,將實際創建工作推遲到子類當中。核心工廠類不再負責產品的創建,這樣核心類成爲一個抽象工廠角色, 僅負責具體工廠子類必須實現的接口,這樣進一步抽象化的好處是使得工廠方法模式可以使系統在不修改具體工廠角色的情況下引進新的產品。

工廠方法屬於創建型模式,適合於產品不太多的情況。產品如果很多,則需要用抽象工廠來實現。


門面模式:
Facade門面模式,也是比較常用的一種模式,基本上所有軟件系統中都會用到。 GOF 在《設計模式》一書中給出如下定義:爲子系統中的一組接口提供一個一致的界面, Facade 模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。簡單說,就是將複雜的邏輯封裝起來,對外公開簡單的接口,由客戶程序調用。
上面的圖仍然只是類圖而已,用於幫助理解代碼中類之間的關係,而不是模式的抽象類圖。CModenPostOffice封裝了複雜的處理邏輯,對外只有SendLetter這個函數接口。使客戶程序容易瞭解到想要做什麼,應該告訴郵局什麼內容,郵局才能正確的工作

發佈了24 篇原創文章 · 獲贊 8 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章