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

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

設(shè)計(jì)模式C#描述——單例與多例模式

2024-07-21 02:24:43
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

商業(yè)源碼熱門(mén)下載www.html.org.cn

設(shè)計(jì)模式c#描述——單例與多例模式

作為對(duì)象的創(chuàng)建模式,單例模式確保某一個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。這個(gè)類稱為單例類。



單例模式有以下特點(diǎn):

單例類只能有一個(gè)實(shí)例。

單例類必須自己創(chuàng)建自己的唯一實(shí)例。

單例類必須給所有其他對(duì)象提供這一實(shí)例。

一個(gè)典型的單例類的實(shí)現(xiàn)如下所示:其中構(gòu)造子私有表示子類不能被繼承。



public class singleton

{

private static singleton m_instance = null;



private singleton()

{

}

public static singleton getinstance()

{

if(m_instance==null)

{

m_instance=new singleton();

}

return m_instance;

}

}



所謂多例模式,實(shí)際上就是單例模式的自然推廣,單例類一般情況下只可以有一個(gè)實(shí)例,但單例類也可以推廣到允許有限個(gè)實(shí)例,這種模式就是多例模式。作為對(duì)象的創(chuàng)建模式,多例模式有以下特點(diǎn):

多例類可以有多個(gè)實(shí)例。

多例類必須自己創(chuàng)建、管理自己的實(shí)例,并向外界提供自己的實(shí)例。

多例類分為有上限多例類與無(wú)上限多例類。

一個(gè)有上限的多例類已經(jīng)把實(shí)例的上限當(dāng)作邏輯的一部分,并建造到了多例類的內(nèi)部。如下:



public class multiton

{

private static multiton instance1=null;

private static multiton instance2=null;



private multiton()

{

}



public static multiton getinstance(int whichone)

{

if(whichone==1)

{

if(instance1==null)

{

instance1=new multiton ();

}

return instance1;

}

else

{

if(instance2==null)

{

instance2=new multiton ();

}

return instance2;



}

}

}

多例類的實(shí)例數(shù)目不需要有上限,實(shí)例數(shù)目沒(méi)有上限的多例模式就叫做無(wú)上限多例模式。由于沒(méi)有上限的多例類對(duì)實(shí)例的數(shù)目是沒(méi)有限制的,因此,雖然這種多例模式是單例模式的推廣,但是這種多例類并不一定能夠回到單例類。一般采用聚集管理所有的實(shí)例。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泊头市| 阿图什市| 墨脱县| 湖口县| 工布江达县| 巴南区| 长葛市| 涡阳县| 中山市| 永康市| 茂名市| 武功县| 尚义县| 东海县| 大连市| 玛多县| 竹溪县| 四子王旗| 隆尧县| 渝北区| 同德县| 秀山| 如东县| 开原市| 平湖市| 富顺县| 桂阳县| 鞍山市| 台东县| 麻阳| 法库县| 洛南县| 克拉玛依市| 新安县| 铅山县| 平顶山市| 融水| 甘洛县| 正宁县| 蓝田县| 大新县|