https://www.cnblogs.com/geek6/p/3951677.html
单例模式:某个类只能有一个实例,提供一个全局访问点。
工厂模式:定义了一个创建对象的接口,让子类决定实例化哪个类。
适配器模式:将一个类的接口转换成用户希望的另一个接口,让原本不兼容的两个接口完成无缝对接。
代理模式:给对象提供一个代理,并由代理对象控制对原对象的访问。
观察者模式:对象间一对多的依赖关系,当一个对象状态改变时,它所有的依赖者(观察者)都会收到通知并自动更新。
装饰器模式:动态的给对象添加新的功能。要求装饰对象和被装饰对象实现同一个接口,装饰对象持有被装饰对象的实例。
单例模式实现
http://wuchong.me/blog/2014/08/28/how-to-correctly-write-singleton-pattern/
http://www.importnew.com/27056.html
注意:单例模式用来保证系统中一个类只有一个实例。单例类的构造函数必须为私有,同时单例类必须提供一个全局访问点。
单例模式有五种写法:饿汉、懒汉、双重检验锁、静态内部类、枚举。(均为线程安全的实现)。
一般情况下直接使用饿汉式,如果明确要求 要懒加载(lazy initialization)会倾向于使用静态内部类,如果涉及到反序列化创建对象时会试着使用枚举的方式来实现单例。
饿汉式
懒汉式
双重检验锁
静态内部类
枚举
网友评论