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

首頁 > 編程 > .NET > 正文

.NET中的設計模式二:單件模式

2024-07-10 12:59:08
字體:
來源:轉載
供稿:網友

單件模式(singleton)是一個非常簡單的模式,這是我第一個理解并且能運用的模式。有時候模式的復雜程度并不在于本身,而是由于他的應用目的。最初的時候面對一個模式經常充滿了困惑,一個簡單的調用為什么要搞的如此復雜?為什么要建立這么多類,只是為了打開一個文件。

通常說來學習一個模式是一個接受、認可、領會的過程。接受:了解模式的結構,了解實例的意義;認可:認可該模式在實際工程中的作用和可行性;領會:將模式應用到開發過程中。

而模式的應用目的說到底無非是為了降低模塊之間在時間和空間上的耦合程度,以此提高模塊的復用性,降低出錯的概率。

單件模式

singleton模式是一個較為簡單的模式,下面的代碼就可以建立一個singlton模式的例子,這是一個寫系統日志的類。

public class logwriter

{

//申明一個靜態的變量,類型為類本身

private static logwriter _instance = null;

 

//將類的構造函數私有化,使得這個類不可以被外界創建

private logwriter()

{

}

 

//提供靜態的方法,創建類的實例

public static logwriter getinstance()

{

if (_instance == null)

{

_instance = new logwriter();

}

return _instance;

}

 

//下面實現類的其他功能

//....

}


調用者不可以通過new的形式得到singleton的實例,調用的例子如下:

logwriter log = logwriter.getinstance();

log.debug("hello world");

 


實際應用

很容易想象,單件模式適用于下面的情況:整個系統中某個對象是唯一的,或者是有固定數量的。比如數據庫連接,配置文件,等等……

模式是一種程序員間的約定術語,語言可以成為思維的基礎。有了這樣的語言,一些復雜的概念就變得容易交流了。比如設計人員只要說到,某個類是一個單件模式,是一個singleton,程序員聽見以后就至少應該明白這個類的調用方式了,而不用再詳細的說明。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊宁县| 永和县| 玛纳斯县| 鹿泉市| 和平县| 定远县| 信宜市| 九台市| 绍兴县| 稻城县| 南川市| 金堂县| 石渠县| 玉门市| 桐梓县| 正安县| 四平市| 仲巴县| 南雄市| 邯郸县| 壤塘县| 平阴县| 富阳市| 普洱| 尉氏县| 阳泉市| 临邑县| 中卫市| 无棣县| 西林县| 商河县| 渑池县| 蓝山县| 乐山市| 澄江县| 石首市| 呼和浩特市| 湘乡市| 莲花县| 峨眉山市| 珲春市|