创建型模式(主要有5个):创建型模式抽象了实例化的过程。他们帮助一个系统独立于如何创建、组合和表示它的那些对象。类创建型模式使用继承改变被实例化的类,对象创建型模式将实例化委托给另一个对象。
评述:factory method比较简单,abstract factory有庞大的类层次,builder模式把复杂的对象清晰地分步构建,prototype模式就是能拷贝自己一份,singleton模式保证类的实例全局唯一。
abstract factory:提供一个创建一系列相关或相关依赖对象的接口,而无需指定它们具体的类。 一般有许多的产品序列,每个工厂对应一个产品序列。
builder:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。一般产品都能分阶段构建,每个阶段的算法可能各不相同。
factory method:定义一个用于对象的接口,让子类决定实例化哪一个类。使 一个类的实例化延迟到及其子类。称为工厂方法主要是因为创建对象是在方法级别上。
prototype:用原型的实例指定创建的种类,并且通过拷贝这写原型创建新的对象。在java基类Object就有clone方法。
singleton:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 一般的工厂都是单例的。