通过对象创建模式绕开new,来避免对象创建过程所导致的紧耦合(依赖具体的类),从而支持对象创建的稳定。
典型模式:
- Factory Method
- Abstract Factory
- Prototype
- Builder
Factory Method
工厂模式用于隔离类对象的使用这和具体类型之间的耦合关系,面对一个经常变化的具体类型,紧耦合关系会导致软件的脆弱。
工厂模式将创建具体对象的工作延迟到了子类,从而实现一种扩展(非更改)的策略。
Abstract Factory
家族工厂模式,当面临一系列相互依赖的对象创建工作时可以使用抽象(家族)工厂模式,它其实算是简单工厂的一个特例。
Prototype
如果在开发中面临着结构复杂对象的创建工作,同时希望保存创建对象的中间状态,可以考虑使用原型模式。这个模式和工厂模式比较相近,唯一的区别是用来创建带中间状态的对象。
Builder
构建器,将一个复杂对象的构建和表示相分离(虚函数子类实现),使得同样的构建过程可以创建不同的表示。好比在类的构建过程中使用了模板模式。