单例设计模式又称为职责模式,它用来在程序中创建一个单一功能的访问点,通俗地来说实例化出来一个唯一的对象。
所有的单例模式至少拥有以下三种公共元素:
1、一个单例模式拥有一个私有的构造函数,即构造函数被private标记
2、一个单例模式拥有一个静态成员变量,用来保存实例类
3、提供一个共有的静态函数,用来创建或获取单例类本身的私有静态对象
单例类不能在其他类中直接实例化,只能被其本身实例化。它不会创建实例副本,而是会向单例内部存储的实例返回一个引用。
在计算机系统中,需要挂你的字眼包括软件外部资源,譬如每台计算机可以有若干个打印机,但只能由一个Printer Spooler,以避免两个打印作业同时输出到打印机中。每台计算机可以有若干传真卡,但是只应该有一个软件负责传真卡,以避免出现两份传真作业同时传到传真卡中的情况。每台计算机可以有若干通信端口,系统应当集中管理这些通信端口,以避免通信端口同时被两个请求同时调用。