设计模式|菜鸟教程
http://www.runoob.com/design-pattern/design-pattern-tutorial.html
学习琢磨的体会:
主要学习的设计模式包括:单例模式、抽象工厂模式和工厂模式、适配器模式、装饰模式、观察者模式、外观模式
1、单例模式
教程中讲解单例模式时,涉及到了一个概念:Lazy初始化,解释一下Lazy初始化:
- lazy initialization就是在使用的时候才进行初始化
public class Singleton { private static Singleton instance; //未初始化 private Singleton (){} public static Singleton getInstance() { if (instance == null) { instance = new Singleton(); } return instance; } }
- 与之对应的是在类加载的时候就初始化(即时加载)
public class Singleton { private static Singleton instance = new Singleton(); //即时加载 private Singleton (){} public static Singleton getInstance() { return instance; } }
二者的区别在于对象的生成时间不同