1 Factory Method 工厂方法

Davids 2025-08-10 05:10:12
Categories: > > Tags:

工厂模式:

定义一个用于创建对象的接口,让子类决定实例化哪一个类,使得一个类的实例化延迟。解耦 new 对类型的依赖。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Abstract {
virtual void DoSomething() = 0;
virtual ~Abstract(){}
};

class AbstractFactory {
virtual Abstract* CreateAbstract() = 0;
virtual ~AbstractFactory(){}
};

class User {
private:
AbstractFactory* m_AbstractFactory;
public:
User(AbstractFactory* abstractFactory) : m_AbstractFactory(abstractFactory) {
Abstract* abstract = m_AbstractFactory->CreateAbstract();
}
};