亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Singleton模式有哪些優點

發布時間:2022-01-13 17:16:26 來源:億速云 閱讀:170 作者:iii 欄目:大數據

今天小編給大家分享一下Singleton模式有哪些優點的相關知識點,內容詳細,邏輯清晰,相信大部分人都還太了解這方面的知識,所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

Singleton模式有許多優點:
1) 對唯一實例的受控訪問

因為Singleton類封裝它的唯一實例,所以它可以嚴格的控制客戶怎樣以及何時訪問它。

對于數據的訪問控制,一般都要解決哪個數據,什么時候被訪問的問題。這兩個問題中,那個數據的問題更加重要。單例模式保證只有一個可供使用的實例,剩下的監控就變得很簡單。

2) 縮小名空間

Singleton模式是對全局變量的一種改進。它避免了那些存儲唯一實例的全局變量污染名空間。

從執行層面來講全局變量和單例具有相近的特征,但是在編譯(編碼)層面有很大的不同。實例通過Singleton的類方法取得,這種用法不會象全局變量那樣占有變量名。

3) 允許對操作和表示的精化

Singleton類可以有子類,而且用這個擴展類的實例來配置一個應用是很容易的。你可以用你所需要的類的實例在運行時刻配置應用。

精化這個詞原文是refinement,在這里應該是細化,具體化的意思。Singleton返回的雖然是基類類型,但是由于實際創建對象的處理被封裝在類的內部,所以可以很方便的在生成實例時返回特定子類的對象。

4) 允許可變數目的實例

這個模式使得你易于改變你的想法,并允許Singleton類的多個實例。此外,你可以用相同的方法來控制應用所使用的實例的數目。只有允許訪問Singleton
實例的操作需要改變。

也許設計者在最開始設想該類只有一個實例,但是后來想法變了。這時只要保證允許訪問的對象只有一個,還是可以使用單例模式。這種程度變化不會對使用者造成影響。

5) 比類操作更靈活

另一種封裝單件功能的方式是使用類操作(即C++中的靜態成員函數或者是Smalltalk中的類方法)。但這兩種語言技術都難以改變設計以允許一個類有多個實例。此外,C++中的靜態成員函數不是虛函數,因此子類不能多態的重定義它們。

雖然也可以使用類操作(靜態函數)的方式實現單例模式相同的功能,但是由于難以實現多個實例和重新定義操作,還是優先選用單例模式吧。

以上就是“Singleton模式有哪些優點”這篇文章的所有內容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會為大家更新不同的知識,如果還想學習更多的知識,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

新竹县| 梁山县| 措勤县| 克东县| 松潘县| 吉木乃县| 建瓯市| 襄樊市| 郴州市| 永寿县| 安国市| 广河县| 林甸县| 固原市| 纳雍县| 丹阳市| 区。| 丹棱县| 光泽县| 娱乐| 洛阳市| 河曲县| 武平县| 仲巴县| 博乐市| 成安县| 辉县市| 沐川县| 夏河县| 桐城市| 分宜县| 嘉鱼县| 衡阳市| 建瓯市| 凌源市| 黑龙江省| 富阳市| 武义县| 浮山县| 稷山县| 桐梓县|