工厂模式是一种创建型设计模式,它提供了一种方法来实例化对象,而不必暴露对象的创建逻辑。
在C++中,工厂模式可以通过创建一个工厂类来实现,工厂类负责根据给定的参数来创建合适的对象。
class Product {
public:
virtual void Operation() = 0;
};
class ConcreteProductA : public Product {
public:
void Operation() override {
std::cout << "ConcreteProductA operation." << std::endl;
}
};
class ConcreteProductB : public Product {
public:
void Operation() override {
std::cout << "ConcreteProductB operation." << std::endl;
}
};
class Factory {
public:
static Product* CreateProduct(int type) {
switch (type) {
case 1:
return new ConcreteProductA();
case 2:
return new ConcreteProductB();
default:
return nullptr;
}
}
};