靈魂-放水

          為學日益,為道日損。

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            296 Posts :: 10 Stories :: 274 Comments :: 0 Trackbacks

          設計模式之單態模式
          author: 李艷慶
          date: 2005年11月4日

          單態模式Singleton, 目的是保在調用期間, 一個類只有一個實例存在.
          最典型的例子為數據庫連接, 數據庫連接只需要一個, 所以可以使用單態模式.
          使用單態模式時, 創建數據庫連接的方法, 只能為靜態, 并且要保證方法的同步, 否則在多線程操作中, 有可能會創建多個實例.
          示例代碼如下:

          using System;
          using System.Data.OleDb;
          using System.Runtime.Remoting.Contexts;

          [Synchronization()]
          public class ConnectionClass
          {
          ?private static OleDbConnection instance = null;
          ?private static string constring = "Provider=Microsoft.Jet.OLEDB.4.0;User ID=Admin;Data Source=singleton.mdb;Mode=Share Deny None;Jet OLEDB:Engine Type=5;Jet OLEDB:Database Locking Mode=1;Jet OLEDB:Global Partial Bulk Ops=2;Jet OLEDB:Global Bulk Transactions=1;Jet OLEDB:Create System Database=False;Jet OLEDB:Encrypt Database=False;Jet OLEDB:Don't Copy Locale on Compact=False;Jet OLEDB:Compact Without Replica Repair=False;Jet OLEDB:SFP=False";

          ?public static OleDbConnection GetInstance()
          ?{
          ??if (instance == null)
          ??{
          ???Console.WriteLine("Create new connection");
          ???instance = new OleDbConnection(constring);
          ??}
          ??return instance;
          ?}
          }
          public class Client
          {
          ?public static void Main()
          ?{
          ??OleDbConnection cn = ConnectionClass.GetInstance();
          ??cn.Open();
          ??cn = ConnectionClass.GetInstance();
          ??cn.Close();
          ?}
          }

          posted on 2007-01-11 14:48 放水老倌 閱讀(558) 評論(2)  編輯  收藏 所屬分類: .NET

          Feedback

          # re: [轉]設計模式之單態模式- -[未登錄] 2008-02-26 10:05 fungway
          使用單態模式對數據庫操作的性能有影響么,單態的好處體現在哪里?  回復  更多評論
            

          # re: [轉]設計模式之單態模式- - 2008-02-27 15:46 放水老倌
          對數據庫本身的操作沒什么影響,但是對開發的系統來說的影響可見一斑。  回復  更多評論
            

          主站蜘蛛池模板: 莫力| 东乡族自治县| 芜湖县| 阜城县| 莱阳市| 丹江口市| 宁陵县| 布尔津县| 新干县| 三门县| 钟山县| 宜宾县| 永城市| 齐齐哈尔市| 罗定市| 荣成市| 秦皇岛市| 香港| 肥城市| 土默特左旗| 黔江区| 乡宁县| 建瓯市| 白沙| 奉新县| 沾益县| 呼伦贝尔市| 灵寿县| 台东县| 延寿县| 乐平市| 丹巴县| 荔波县| 南江县| 福贡县| 随州市| 南岸区| 浦城县| 神池县| 且末县| 康马县|