设计模式之单例模式
来源:互联网 发布:怎样查看凯立德端口 编辑:程序博客网 时间:2024/05/29 02:48
前段时间看了《设计模式之禅》这本介绍设计模式的书,感觉讲的挺好,最起码给我的感觉是很通俗易懂,相信大家也都学过一些设计模式,设置是为了准备面试而特意去网上查了一些有关设计模式的资料,看完这本书本来是决定每天至少写一篇关于博客的,目的就是讲自己学到的东西做一个整理,但是由于中间各种原因,没有坚持下来,翻看自己的博客,发现几篇文章还是14年写的,很是惭愧,今天决定每天发表一篇博客,主要是对自己学到的东西做一些总结。
单例模式的定义:
确保一个类只有一个实例,而且自行实例化并像整个系统提供这个实例
通过定义可以得出单例模式的几个有点:
- 单例类在内存中只有一个实例,所以节省了系统的内存开销
- 单例类只有一个实例,所以节省了系统的性能开销
- 单例类在内存中只有一个实例,所以可以保证所有类共享该实例
单例模式通用类图如下:
单例模式分为:饿汉式和懒汉式
懒汉式代码如下:
public class Singleton { // 构造器私有化 private Singleton() { } // 私有化 静态 本类型的属性 private static Singleton instance = null; // 对外提供一个静态的返回本类型的方法 public static Singleton getInstance() { if(instance==null){ instance=new Singleton(); } return instance; }}
饿汉式代码如下:
public class Singleton { // 构造器私有化 private Singleton() { } // 私有化 静态 本类型的属性 private static Singleton instance = new Singleton(); // 对外提供一个静态的返回本类型的方法 public static Singleton getInstance() { return instance; }}
通过看代码可以得知单例模式的缺点是无法被继承,因为单例模式的要求是构造方法私有化。
单例模式的适用场景:
- 资源共享
- 要求生成唯一序列号的环境
虽然我们很少自己写单例模式,但是单例模式在很多地方被使用了,相信使用过spring的人,应该知道在spring里每个Bean默认是单例的,这样做的优点就是Spring容器可以管理这些Bean的生命周期。
0 0
- 设计模式之 单例设计模式
- 设计模式之 单例设计模式
- 设计模式之单例设计模式
- 设计模式之-----------单例设计模式
- 设计模式之:单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之单例设计模式
- 设计模式之-单例设计模式
- 设计模式之单例设计模式 标签: 设计模式
- 设计模式之单例
- 设计模式之单例
- 设计模式之 单例
- NSNotificationCenter
- file读写
- iOS 学习资料整理
- 如何将maven和eclipse关联在一起
- Oralce 设置远程访问
- 设计模式之单例模式
- 进程通信方式:共享内存区
- 不是技术牛人,如何拿到国内IT巨头的Offer
- OpenJDK技研
- ios 去除字符串首尾空格、换行
- 分布式SQL数据库引擎基于Hadoop HDFS
- R语言的一些笔记
- 日经社説 20150528 シリアの内戦終結に全力を
- 网站建设的一般原则及网站推广技巧