1.抽象工厂模式(Abstract Factory)
提供一个接口,让该接口负责创建一系列“相关或者相互依赖的对象”,无需指定他们的具体类。
2.建造者模式(Builder)
将一个复杂对象的构建与其表示向分离,使得同样的构建过程可以创建不同的表示
3.工厂方法(Factory Method)
定义一个用于创建对象的接口,让子类决定实例化哪个类。FactoryMethod使得一个类的实例化延迟到子类
4.原型模式(Prototype)
使用原型实例指定创建对象的种类,然后通过拷贝这些原型来创建型的对象
5.单例模式(Singleton)
保证一个类仅有一个实例,并提供一个访问它的全局访问点
Abstract Factory | Builder |
着重于多个系列的产品对象 | 着重于一步步构造一个复杂对象 |
产品立即返回 | 在最后一步返回产品 (例如:《大话设计模式》里面的炒菜程序,每一步过了之后,“菜”这个产品才产生出来) |
Factory Method | Prototypes |
通常在Template Methods中被调用 | 不需要创建子类 |
不需要Initialize操作 | 要求一个针对Product类的Intialize操作 |
重新创建一个对象 | 利用现有的对象进行克隆,当两个对象或多个对象雷同的时候,可以考虑用一个已创建的对象去克隆出其余的对象 |