《Android源码设计模式与实战》笔记1——开篇
来源:互联网 发布:中国网络经纪人客户端 编辑:程序博客网 时间:2024/06/08 18:32
一、介绍
- 单例模式是应用最广的模式之一。
- 单例对象的类必须保证只有一个实例存在。
例如:ImageLoader中包涵有线程池、缓存系统、网络请求等就不需要全写出来。
二、定义
确保某个类只有一个实例,并能自行的想向整个系统提供这个实例。
三、UML图
角色:
- Client——高层客户端
- Sington——单例类
关键点:
- 构造函数不对外开放,一般是private;
- 通过一个构造器或者枚举类返回一个单例对象;
- 确保单例类的对象只有一个,尤其是多线程环境下;
- 确保单例对象在反序列化的时候不会重新构建对象;
四、推荐使用方法
静态内部类单例模式
public class Singleton{
private Singleton{}
pubic static Singleton getInstance(){
return SingletonHolder.sInstance;
}
/**
*静态内部类
*/
private static class SingletonHolder{
private static final Singleton sInstance = new Singleton();
}
}
优点:比较安全的单例模式(在反序列化时可能不为单例,看需求吧)
枚举单例模式
public enum Singleton{
INSTANCE;
public void doSomething(){
//方法体
}
}
优点:传说中最安全的单例模式,但不一定全部适用
阅读全文
1 0
- 《Android源码设计模式与实战》笔记1——开篇
- 《Android 源码设计模式解析与实战》学习笔记
- android源码设计模式解析与实战 笔记 3.7节
- android源码设计模式解析与实战 笔记 4.8节
- android源码设计模式解析与实战 笔记 5.7节
- android源码设计模式解析与实战 笔记 6.6节
- android源码设计模式解析与实战 笔记 7.6节
- android源码设计模式解析与实战 笔记 7.7节
- android源码设计模式解析与实战 笔记 8.6节
- Android源码设计模式解析与实战
- Android 源码设计模式解析与实战
- Android源码设计模式解析与实战
- 《Android源码设计模式解析与实战》——Builder模式
- 《Android源码设计模式解析与实战》——原型模式
- 《Android源码设计模式解析与实战》读书笔记(二)——单例模式
- 《Android源码设计模式解析与实战》读书笔记(三)——建造者模式
- 《Android源码设计模式解析与实战》读书笔记(四)——原型模式
- 《Android源码设计模式解析与实战》读书笔记(五)——工厂方法模式
- C++转换构造函数和隐式转换函数
- 卡特兰数与算法
- java web 异常处理——转发至某个自定义的web错误页面
- 大虾对51单片机入门的经验总结
- java设计模式之桥接模式
- 《Android源码设计模式与实战》笔记1——开篇
- 轻院 1090 整数幂(多实例测试)
- STM32经典概述(干货 )
- Android Mediarecord录像完美无BUG
- 设计模式之中介者模式
- 语音播放与录音 (五分钟学会用 非常全面)
- 机器学习之逻辑回归
- javascript 排序(Sorting)算法与说明
- 设计模式学习(C++实现)4——建造者模式