计数器功能

实际用途 : 网站访问量的统计:
代码 :
///

/// whs

/// 声明一个单件模式的对话类

/// 注意的事项

/// 1 构造函数必须是所有的。

/// 2 创建实例的函数必须是静态的的

/// 3 实例对象必须是静态的

///

class SingletonCount

{

//声明私有的构造函数

private SingletonCount()

{ }

private static SingletonCount mySingletonCount;

private static int count = 0;

public string setCount()

{

count = count +1;

return count.ToString();

}

public static SingletonCount GetInstance()

{

if (mySingletonCount == null)

{

mySingletonCount = new SingletonCount();

}

return mySingletonCount;

}

}

数据库连接

实际用途 : 程序连接数据库,如果每次操作数据库都要去连接数据库,是一笔很大的系统开销,那么我们可以让程序保持一个数据库连接。创建一个数据库单件模式的类 可以实现这个架构。

代码 :
///

/// 单件模式的数据库连接。

/// whs:

///

public class SingletonDataConnect

{

// 连接实例

private static OleDbConnection conn = null;

// 连接字符串

private string connString;

//类实例的锁

private static object classlock = typeof(SingletonDataConnect);

//类的实例『类的内部可以包含类的实例:只是声明一个变量,但是没有实例化,那么指针到底指向了谁。』

private static SingletonDataConnect dc;

//类是否实例化的标志。

private static bool instanceFlag = false;

//定义私有构造函数防止用户生成实例;用户不能生成实例,那么哪里进行实例初始化那。

private SingletonDataConnect()

{

connString = getConnString();

}

private string getConnString()

{

try

{

XmlDocument doc = new XmlDocument();

doc.Load(@"conn.xml"); //数据库连接设置的XML文件  

string returnval = doc.DocumentElement.InnerText.Trim();

doc = null;

return returnval;

}

catch (Exception err)

{

throw new Exception(err.Source + ":" + err.Message);

}

}

// 对类进行实例化。

public static SingletonDataConnect CreateConn()

{

//生成实例前加锁,保证只生成一个连接实例

lock (classlock)

{

// 如果生成过实例就不再生成新的实例。

if (!instanceFlag)

{

dc = new SingletonDataConnect();

instanceFlag = !instanceFlag;

}

}

return dc;

}

public OleDbConnection Open()

{

if (conn == null)

{

conn = new OleDbConnection(connString);

conn.Open();

}

return conn;

}

public void Close()

{

if (conn.State == System.Data.ConnectionState.Open)

{

conn.Close();

conn = null;

}

}

转载于:https://www.cnblogs.com/sdgxbooy/archive/2008/12/05/8903015.html

单件模式的两个简单实例相关推荐

  1. python 嵩天 笔记,【笔记】嵩天-Python语言程序设计-完成两个简单实例

    目标 使用pycharm,完成两个小实例的编写和运行.一个是温度转换,一个是蟒蛇图形绘制. 过程 1.先设置project目录,虽然命名不是很正式,主要不太习惯软件的目录结构,好在只是熟悉语言和工具, ...

  2. numpy meshgrid 和 mgrid 的两个简单实例和解析

    numpy.meshgrid 和 numpy.mgrid 用于返回包含坐标向量的坐标矩阵. 当坐标矩阵为二维时, 可用于在图像变形时构建网格. 实例一 from __future__ import p ...

  3. 在王者荣耀角度下分析面向对象程序设计B中23种设计模式之单件模式

    · 单件模式在王者荣耀中的应用 · 一.简述 今年春节王者荣耀出了一个叫做"王者快跑"的限时玩法,许多玩家都很喜欢这个游戏模式.不同于5V5的王者地图,这个地图是一个跑道中途有很多 ...

  4. Java设计模式——单件模式

    概述 有一些对象其实我们只需要一个,比方说:线程池(threadpool).缓存(cache).对话框.处理偏好设置和注册表(registry)的对象.日志对象,充当打印机.显卡等设备的驱动程序的对象 ...

  5. Android Fragment 简单实例

    Android上的界面展示都是通过Activity实现的.Activity实在是太经常使用了.我相信大家都已经很熟悉了,这里就不再赘述. 可是Activity也有它的局限性,相同的界面在手机上显示可能 ...

  6. 《Head First设计模式》第五章笔记-单件模式

    单件模式 定义:确保一个类只有一个实例,并提供全局访问点. 编写格式: 1 2 3 4 5 6 public class MyClass{     private MyClass(){}//构造方法私 ...

  7. mysql 两列数据互换_mysql 实现互换表中两列数据方法简单实例

    由于最近项目,有这样一个需求,是把数据库中的两列数据互换,经过好久才搞定,这里写个简单实例,做过记录. 1.创建表及记录用于测试 CREATE TABLE `product` ( `id` int(1 ...

  8. C++两种编写单件模式方法对比

    1.第一种:  1 template <typename T>  2 class CSingletonT  3 {  4 public:  5   6     virtual ~CSing ...

  9. 数据库的三级模式和两级映射--简单介绍

    形象解释数据库的三级模式和两级映射 数据库的三级模式和两级映射是美国国家标准协会(American National Standard Institute, ANSI)的数据库管理系统研究小组于197 ...

最新文章

  1. Android 应用性能优化-StrictMode(严格模式)
  2. 《JAVA练习题目4》 训练要点:String和StringTokenizer的使用,以及排序算法。
  3. Spring XD 1.1 M2 and 1.0.3 released---support kafka
  4. [C1W3] Neural Networks and Deep Learning - Shallow neural networks
  5. c语言图形界代码,求个用最简单的的代码来实现图形界面…
  6. c语言游戏编程网盘下载,C语言游戏编程 计算器(5分下载)
  7. python爬取知乎live_Python爬虫从入门到放弃(十九)之 Scrapy爬取所有知乎用户信息(下)...
  8. 网站子域名扫描程序,采用三种扫描方式(crt网站查询、站长网站查询、字典暴力破解)
  9. html汉字在ie11中乱码,你好 我电脑 IE11  网页下拉的键都变成的中文乱码 例如“马夬”“邢”之类的中文乱码...
  10. Schlumberger Drilling Office v4.0 1CD(综合钻井工程设计软件)
  11. 高版本SDK编译apk在低版本android源码中编译
  12. 【Ubuntu 20.04 安装中文输入法 谷歌拼音】
  13. Java 导出CSV文件及实现web下载CSV
  14. 微信小程序仿抖音,微视上下滑动整屏切换视频带关注,收藏
  15. html js不触发_「万字整理 」这里有一份Node.js入门指南和实践,请注意查收 ??
  16. 上网操作1000问(供初學者)
  17. Redis 6.2 启动关闭
  18. innerText和innerHTML区别
  19. mysql码表是什么意思_什么是码表,什么是维度表?
  20. 大学生书店网页设计制作 简单静态在线书店HTML网页作品 小说书籍网页作业成品 学生期末作业网站模板

热门文章

  1. LeetCode(455)——分发饼干(JavaScript)
  2. 牛客网模拟笔试——膨胀的牛牛(JavaScript)
  3. 报错:mysqldump‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  4. 修改oracle超空间大小,Oracle修改表空间大小详解
  5. if vue 跳出_vue实现弹框遮罩点击其他区域弹框关闭及v-if与v-show的区别介绍
  6. 事业单位的生活是怎么样的?
  7. 跳绳减肥每天多少下有效?正确跳绳姿势是什么?
  8. 为什么淘宝上同样的东西,专卖店比官方旗舰店便宜?
  9. 终于搞懂了网红主播的套路
  10. 社区内放自助打印机,赚钱吗?