(一)单例模式定义
指定类只有一个实例,该类只能自行创建这个实例的一种模式(例如:人类之中的女人,女人可以生孩子)
(二)单例模式特点
- 单例类只有一个实例
- 单例对象必须由单例类自己创建
- 单例类对外提供一个访问单例的全局访问点。
(三)单例模式结构
- 单例类:一个实例只能自行创建这个类的实例类
- 访问类:使用单例类
(四)单例模式实现
单例模式实现共有两种,一种是懒汉模式,另一种是饿汉模式。
如果想深入了解的话,可以访问:http://c.biancheng.net/view/1338.html
如果对于懒汉模式和饿汉模式的应用不是很了解,可以参考一下这一篇文章:https://www.ppkanshu.com/index.php/post/3299.html
上面网址用的是Java,而如下则用C#编写,大致的意识和代码基本上都是一样的。
1.懒汉模式单例实现
/// <summary>
/// 懒汉模式
/// </summary>
public class SingleTest
{
/// <summary>
/// 定义一个私有变量来存放单例
/// </summary>
private static SingleTest instance;
public SingleTest()
{
}
/// <summary>
/// 定义一个公共的公开方法返回该类的实例
/// </summary>
/// <returns></returns>
public static SingleTest GetSingleTest()
{
//第一次访问创建实例
if (instance == null)
{
instance = new SingleTest();
}
return instance;
}
}
2.饿汉模式单例实现
/// <summary>
/// 饿汉模式单例
/// </summary>
public class SingleTest
{
private static SingleTest Instance = new SingleTest();
private SingleTest()
{
}
public static SingleTest GetSingleTest()
{
return Instance;
}
}
文章有长有短,有优有缺,望君自作定夺,取长补短,总结经验!