单例模式的一些探索

Posted fanqisoft

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单例模式的一些探索相关的知识,希望对你有一定的参考价值。

单例模式(Singleton)是软件开发中最常用的设计模式之一

单:唯一

例:实例

即某个类在整个系统中只能有一个实例对象可以被获取和使用

 

要点:

1)、这个类在整个系统中只能有一个实例

  ——构造器私有化

2)、这个类必须自己创建本身实例

  ——这个类中含有一个该类的静态变量来保存这个唯一的实例

3)、这个类必须自己向整个系统暴露自身实例

  ——1.直接暴露

  ——2.使用静态变量的get方式获取

 

两种形式

一、直接创建对象(不存在线程安全问题)

  1)直接实例化对象(简洁直观)

技术分享图片

  2)枚举式(最简洁)

技术分享图片

 

 

 

  3)静态代码块方式(适合单例对象复杂实例化)

技术分享图片

二、延迟创建对象

1)线程不安全(适用于单线程)

技术分享图片

2)线程安全(适用于多线程),在线程不安全代码基础上改良

技术分享图片

 

3)静态内部类形式(使用于多线程)

 

技术分享图片

 

以上是关于单例模式的一些探索的主要内容,如果未能解决你的问题,请参考以下文章

单例模式 | 程序员都想要探索的 Javascript 设计模式

单例模式 | 程序员都想要探索的 Javascript 设计模式

单例模式探索

浅谈单例设计模式探索

Java模式设计之单例模式(二)

单例模式