工厂模式:
定义一个用于创建对象的接口,让子类决定实例化哪一个类,使得一个类的实例化延迟。解耦 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(); } };
|