创建模式是对类的实例化过程的抽象化,分为类的创建模式和对象的创建模式。
类的创建模式
使用继承关系把类的创建过程延迟到子类,从而封装了客户端将得到哪些具体类的信息,并且隐藏了这些类的实例是如何创建和组合在一起的。
对象的创建模式
把对象的创建过程动态的委派给另一个对象,从来动态的决定客户端将得到哪些具体类的实例,以及这些类是实例是如何创建和组合在一起的。
--------------------------------------------------------
单例模式(Singleton)
在一个系统要求一个类只能有一个实例的情况下才可以使用单例模式。如果一个类可以有几个实例共存,那么就没有必要使用单例模式。
做为对象的创建模式,分为饿汉式单例类和懒汉式单例类。饿汉式式在自己被加载时就将自己实例化。
懒汉式单例为在第一次被引用时将自己实例化。从资源利用效率来讲,饿汉式比懒汉式稍差些。从速度和反应时间角度来讲,饿汉式稍好些。懒汉式在初始化时要考虑多纯程问题。
单例模式的要点有三个:
1. 一是某个类只能有一个实例;
2. 二是它必须自己创建这个实例;
3. 三是它必须自行向整个系统提供这个实例。