單例模式(Singleton Pattern)

單例模式(Singleton Pattern)

概述

Singleton模式要求一個類有且僅有一個實例,并且提供了一個全局的訪問點。這就提出了一個問題:如何繞過常規(guī)的構造器,提供一種機制來保證一個類只有一個實例?客戶程序在調(diào)用某一個類時,它是不會考慮這個類是否只能有一個實例等問題的,所以,這應該是類設計者的責任,而不是類使用者的責任。

從另一個角度來說,Singleton模式其實也是一種職責型模式。因為我們創(chuàng)建了一個對象,這個對象扮演了獨一無二的角色,在這個單獨的對象實例中,它集中了它所屬類的所有權力,同時它也肩負了行使這種權力的職責!

意圖

保證一個類僅有一個實例,并提供一個訪問它的全局訪問點。

使用場景

1.類只能有一個實例,而且必須從一個為人熟知的訪問點對其進行訪問。

2.這個唯一的實例只能通過子類化進行擴展,而且擴展對象不會破壞客戶端代碼。

要點

1.某個類只能有一個實例

2.他必須自行創(chuàng)建這個對象

3.必須自行向整個系統(tǒng)供這個實例

4.這個方法必須是個靜態(tài)類

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內(nèi)容