32
Abstract Factory
•C++ implementation
class AbstractFactory {
public:
virtual CreateProductA()=0;
virtual CreateProductB()=0;
};
class Factory1: public AbstractFactory {
public:
CreateProductA() {…}
CreateProductB() {…}
};
class Factory2: public AbstractFactory {
public:
CreateProductA() {…}
CreateProductB() {…}
};
class AbstractA{};
class ProductA1: public AbstractA{};
class ProductA2: public AbstractA{};
class AbstractB{};
class ProductB1: public AbstractB{};
class ProductB2: public AbstractB{};