身为程序员,你可能没有系统的学习过设计模式,但是你一定知道单例模式,因为它相对简单,而且最常被大家所用到。既然大家都用到过,也都知道为什么我还要单独列出一篇文章来写呢?
因为绝大部分开发者平时对单例模式的认识,可能仅仅停留在“会用”的阶段。为什么会有这个模式?为什么要用这个模式?在哪里用单例模式最合适?乱用了会有什么负面影响?
这些可能大多数人都一知半解。今天就让我们大家一起来扒光单例模式的外衣,有深度的认识一下单例模式。
通过这篇文章你能学到什么
(建议你可以带着问题去学习)
单例模式的定义
单例模式在Android源码中的应用
单例模式的九种写法以及优劣对比
单例模式的使用场景
单例模式存在的缺点
接下来我们就一起进入今天的学习了
单例模式的定义
在学单例模式之前,我想大家都会自己问自己:“单例模式存在的意义是什么?我们为什么要用单例模式?”
众所周知,在古代封建社会,一个国家都只有一个国王或者叫皇帝。我们在这个国家的任何一个地方,只要提起国王,大家都知道他是谁。因为国王是唯一的。其实这个就是单例模式的核心思想:保证对象的唯一性。
单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类,它提供全局访问的方法。 单例模式是一种对象创建型模式。
从其定义我们可以看出来单例模式存在三个要点:
1、实例唯一性
2、自行创建
3、全局访问
如何设计一个优秀的单例模式其实也是围绕着这三点来的。
说了这么多了,还不知道单例模式到底啥样呢?接下来我们一起来着