专业编程基础技术教程

网站首页 > 基础教程 正文

c#写的最健壮的单例模式 c#单例模式的几种实现方式

ccvgpt 2024-12-28 11:46:35 基础教程 8 ℃

背景

单例模式在软件开发过程中经常遇到,说白了就是一个唯一实例存在于系统中,这个类只产生一份在内存里面,其他需要这个类的操作,不能自己去随意实例化类,而由单例类自己管理和生成自己,释放自己。

应用场景

1.比如操作excel.操作文件等。

c#写的最健壮的单例模式 c#单例模式的几种实现方式

2.或一个复杂渲染画面的类都将是一个单一不允许被并发操作的类。

3.数据库操作。

4.账号生成器等。

实例讲解

1.第一步:

要取得这样一个实例第一步,是判断他是否存在。

if (instance == null)

如果存在了,就返回内存的实例。


2.如果为空,就开始加锁,创建对象,防止别人也同时创建对象。

lock (lockObject) {

那么这时候还要在判断对象是否为空,为什么?

因为在你加锁的过程的同时,别人可能已经创建了对象,这一步判断对象是否被创建,至关重要。加锁是会等待的。


3.创建实例

instance = new SingletonPattern1();

这一块可以扩展,直接创建类,也可以创建借口,或直接载入dll等


单例模式是我们学习设计模式的第一课,这个代码已经无懈可击了,

Tags:

最近发表
标签列表