创建型模式
创建型模式对类的实例化过程进行抽象,对象的创建和使用进行分离、外界只需要关注功能实现,不用关注具体实现。系统独立
包含:简单工厂、工厂、抽象工厂、单例、建造者和原型。
* 1、简单工厂模式
属于类创建模式,根据参数不同返回不同类的实例,
专门定义了一个类(工厂类)来创建其他(具体产品类)的实例,具体产品类都有共同父类、抽象产品类。对工厂类进行传参。
优点:对外不用关注具体实现,只需要增加一个新的具体产品类。
缺点:每次改动整个工厂类都要改动。
伪代码:
inlcude "Factory.h"
include "ConcreteProductA.h"
inlcude "ConcreteProductB.h"
Product* Factory::createPriduct(string proname){
if ("A" == proname){
return new ConcreteProductA();
}
if("B" == proname){
return new ConcreteProductB();
}
}