設計模式 單例模式

2021-09-23 20:21:14 字數 913 閱讀 6795

設計模式分為兩種型別:

1.建立型模式:這些設計模式提供了一種在建立物件的同時隱藏建立邏輯的方式,而不是使用 new 運算子直接例項化物件。這使得程式在判斷針對某個給定例項需要建立哪些物件時更加靈活。

2.結構型模式:這些設計模式關注類和物件的組合。繼承的概念被用來組合介面和定義組合物件獲得新功能的方式。

單例模式屬於建立型模式

首先我們來看看單例模式的定義:

通過類的方法獲取到唯一的乙個例項物件,該例項物件被呼叫者共享

//依賴倒轉原則要求我們根據介面程式設計,因此這裡會有乙個人的抽象類

inte***ce person

//我是人,我是具體的乙個人,所以繼承並實現了人的方法

class me implements person ;

void work(){}

}//當使用者想獲得我的時候,我應該有且只有乙個,所以沒有的話就應當建立乙個真實的我,然後返回。

//當我已經真實存在的時候,那麼就應當直接把我返回而不應該再次建立,因為真實的我只有乙個

class getme

return me;}}

在實際裡面,我們可以這樣理解單例模式:

你這個具體的人,在現實生活裡面有且只有乙個,你在出生就被創造了,以後不論誰來聯絡你,和你交流都是和你這個具體的唯一例項,而不是讓你媽再生乙個你。

這樣的話好處就是,你可以記得你的所有經歷,記錄你的當前的狀態,且資源共享,不會有額外的開銷。

這種模式有點類似享元模式,只不過是一種有且只有乙個享元且無不共享物件的享元模式。

設計模式 單例模式

單例模式 singleton pattern 是乙個比較簡單的模式,其定義如下 ensure a class has only one instance,and provide a golbal point of acess to it.確保某乙個類只有乙個例項,而且自行例項化並且向整個系統提供這個...

設計模式 單例模式

class testsingleton static public function instance return self testsingleton private function clone public function setsinvar sinvar public function ...

設計模式 單例模式

單例模式的目的是保證類在系統中只被例項化一次,由該唯一的例項來為系統提供服務.單例模式主要用於保證服務的統一,比如獲取統一的編號服務,模仿oracle的序列生成等.但單例的使用需要謹慎,特別是在需要作負載均衡的地方,因為這種程式級的單例模式實際上只能保證在乙個應用中為單例.如果被多個應用載入,還是會...