国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 利津县| 濮阳市| 天长市| 名山县| 漾濞| 阜新市| 苍溪县| 灵川县| 罗源县| 霍林郭勒市| 高安市| 沙河市| 泌阳县| 遂平县| 汕尾市| 井研县| 许昌县| 乌拉特后旗| 邵阳市| 紫阳县| 托克托县| 长海县| 温宿县| 老河口市| 什邡市| 汤原县| 红原县| 浦北县| 呼和浩特市| 呼图壁县| 西盟| 纳雍县| 五河县| 拉萨市| 册亨县| 芜湖县| 襄城县| 岳普湖县| 陇川县| 西贡区| 蚌埠市|