C 例項 單例模式

2021-05-23 17:45:43 字數 2622 閱讀 5966

昨天晚上,我的老師(算是我的親戚)給了我一段**,讓我看看。現copy如下:

1、citysingleton.cs檔案**:

using system;

using system.data;

using system.configuration;

using system.web;

using system.web.security;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web.ui.webcontrols.webparts;

using system.web.ui.htmlcontrols;

using system.collections.generic;

using system.io;

using system.xml;

///

/// citysingleton 的摘要說明

///

public class citysingleton

///

/// 獲取單例

///

public static citysingleton instance

return _instance;}}

///

/// 重新裝載資料

///

public void reloaddata()

///

/// 裝載資料

///

if (file.exists)

}_cities.add(c);}}

}}catch

}///

/// 返回符合條件的城市列表

/// 放大

///

///

///

public listgetcities(float zoom)

}return cities;}}

2、city.cs檔案**:

using system;

using system.data;

using system.configuration;

using system.web;

using system.web.security;

using system.web.ui;

using system.web.ui.webcontrols;

using system.web.ui.webcontrols.webparts;

using system.web.ui.htmlcontrols;

///

/// city 的摘要說明

///

public class city

///

/// 城市名稱

///

public string cityname

set

}///

/// 城市經度

///

public float longitude

set

}///

/// 城市緯度

///

public float latitude

set

}///

/// 地圖放大因子

///

public float zoom

set

}///

/// 文字方向

///

public string textdirection

set

}///

/// 與颱風之間的距離

///

public float distance

set }}

3、cities.xml檔案**:

<?xml version="1.0" encoding="utf-8" ?>

廣州113.287047

23.17691

50top

深圳114.045941

22.626807

50right

香港114.156

22.373

50bottom

江門112.965032

22.569499

50left

源**在這裡了,現在說說,為什麼要用這段**:

首先說說單例模式,顧名思義,就是只能有乙個例項,事實上單例模式有三點:  

一是某個類只能有乙個例項,不能new乙個例項;二是它必須自行建立這個例項,當然是這類自身裡;三是它必須自行向整個系統提供這個例項。至於什麼情況需要使用單例模式,我現在也不是很懂。

本段程式主要是實現從xml檔案中提取資訊到相關的類,從而實現類的封裝,高類聚低耦合,也就是物件導向oo程式設計的部分應用。具體怎樣可以copy去除錯,記得如果要實現它,需要在default.aspx.cs檔案中呼叫:

protected void page_load(object sender, eventargs e)

///

/// 獲取單例

///

public static citysingleton instance

return _instance;}}

C 單例模式例項

定義 在某些情況下,我們設計中的物件只需要乙個,比方說 執行緒池 threadpool 快取 cache 對話方塊 處理偏好設定和登錄檔物件 日誌物件 充當印表機 顯示卡等裝置的驅動程式的物件等。事實上,這類物件只能有乙個例項,如果製造出多個例項,就會導致許多問題產生。這裡要說的單件模式就能確保乙個...

C 設計模式 單例例項

一.建立乙個自己型別的私有靜態變數 二.將建構函式私有化 三.建立乙個獲取例項的public靜態函式 using system using system.collections.generic using system.linq using system.text using system.thre...

C 單例模式設計例項

所謂的單例模式就是在整個程式的生命週期中,只建立乙個例項。要實現這種模式可以採用餓漢模式,飽漢模式,雙重鎖模式和懶載入模式。什麼是餓漢模式呢?餓漢模式就是很餓很著急,所以類載入時即建立例項物件。在這種情況下無需擔心多執行緒下例項被 多次建立的問題,但是如果有一些例項物件我們是不需要的那麼問題就來了,...