//抽象工厂模式
//首先抽象工厂是工厂的扩展,书中对他的解释是当工厂出现俩个互相影响的产品线
//示例;
//作者将黄种人派生男人女人(黑种人,白种人一样)
//八卦炉基类(工厂类),生产三种人。再派生俩个类,让其生产男人女人。最后场景类调用。
//关系就像车的左右门一样
class AbstractProductA {
public:
virtual void ShareMethod() {
cout << "method";
}
virtual void DoSomething() {
cout << "do";
}
};
class ProductA1 : public AbstractProductA {
public:
virtual void DoSomething() {
cout << "do product1";
}
};
class ProductA2 : public AbstractProductA {
public:
virtual void DoSomething() {
cout << "do product2";
}
};
//当然AbstractProductB 像A那样,同理构造。
class AbstractProductCreat {
public:
virtual AbstractProductA* CreateProductA() {}
virtual AbstractProductB* CreateProductB() {}
};
class Creator1 : public AbstractProductCreat {
public:
virtual AbstractProductA* CreateProductA() {
return new ProductA1;
}
virtual AbstractProductB* CreateProductB() {
return new ProductB1;
}
};
//再实现产品等级二的实现类
//工厂调用
设计模式观后(c++还原之六 虚拟工厂)
最新推荐文章于 2024-06-11 13:30:06 发布