目录
前言
设计模式有很多种,singleton只有其中最简单的一种。
一、singleton是什么?
singleton定义为“有且仅有一个元素的集合”。
又定义为“保证一个类仅有一个实例,并提供一个访问它的全局访问点。”
其定义说明要使得类的一个对象成为系统中的唯一实例(实例是对象的具体标识,对象就是类的实例)。
要点:某一类只有一个实例;自行创建实例;自行向整个系统提供实例。
实现:提供私有的构造函数;类定义含有该类的静态私有对象;提供静态的公有函数用于创建或获取静态私有对象。
二、具体指什么?
示例如下:
public class Singleton
{
private Sington() { }
private static Singleton Singleton_t = null;
public static Singleton Create()
{
if (Singleton_t == null)
{
Singleton_t = new Singleton();
}
return Singleton_t;
}
}
其中
private Sington() { } ——对应提供私有的构造函数
private static Singleton Singleton_t = null; ——类定义含有该类的静态私有对象
public static Singleton Create() ——提供静态的公有函数用于创建或获取静态私有对象
三、单例模式的应用
任务管理器、回收站、网站的计数器、日志应用、配置对象、数据库连接池、多线程的线程池、操作系统的文件系统。
四、总结
将对应的实例只有唯一的实例化,这样当多个程序使用时,不能多次实例化,每次使用的实例化对象才不会出现数据的冲突。