国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

黑馬程序員--單例設計模式

2019-11-14 20:50:54
字體:
來源:轉載
供稿:網友
黑馬程序員--單例設計模式

---------------------- asp.net+Unity開發、.Net培訓、期待與您交流! ----------------------

單例設計模式:解決的問題:保證一個類在內存中的對象唯一性。比如:多程序讀取一個配置文件時,建議配置文件封裝成對象。會方便操作其中數據,又要保證多個程序讀到的是同一個配置文件對象,就需要該配置文件對象在內存中是唯一的。

Runtime()方法就是單例設計模式進行設計的。

如何保證對象唯一性呢?思想:1,不讓其他程序創建該類對象。2,在本類中創建一個本類對象。3,對外提供方法,讓其他程序獲取這個對象。

步驟:1,因為創建對象都需要構造函數初始化,只要將本類中的構造函數私有化,其他程序就無法再創建該類對象;2,就在類中創建一個本類的對象;3,定義一個方法,返回該對象,讓其他程序可以通過方法就得到本類對象。(作用:可控)

代碼體現:1,私有化構造函數;2,創建私有并靜態的本類對象;3,定義公有并靜態的方法,返回該對象。

Class Single{     PRivate static final Single s=new Single();     private Single(){};     public static Single getInstance()    {       return s;     }}懶漢式:Class Single{   Private static Single s=null;   Private Single(){};   Public static synchronized Single getInstance()   {      If(s==null)         S=new Single();      return s;    }}加這個synchronized 會使效率變低,但是如果不加這個關鍵字,會導致無單例模式的效果。可以通過這種方式解決:class Single{   private static Single s=null;   private Single(){};   public static Single getInstance()   {      if(s==null)      {          synchronized(Single.class)         {          if(s==null)                 s=new Single();         }       }       return s;    }}原則:定義單例時,建議使用餓漢式。

--------------------- ASP.Net+Unity開發、.Net培訓、期待與您交流! ---------------------- 詳細請查看:www.itheima.com


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普兰店市| 罗定市| 巫溪县| 陵水| 余干县| 五寨县| 闵行区| 龙里县| 紫阳县| 玉溪市| 洱源县| 新兴县| 闸北区| 甘德县| 乐山市| 棋牌| 长寿区| 禄劝| 沭阳县| 济源市| 邵东县| 阜南县| 伊金霍洛旗| 抚远县| 延寿县| 宾川县| 香格里拉县| 阳城县| 遂昌县| 卓资县| 察雅县| 桃源县| 黑龙江省| 保德县| 陆河县| 正蓝旗| 安康市| 沈阳市| 长治县| 奎屯市| 元朗区|