2.抽象工厂(Abstract Factory)
注:图片来源于 https://www.cnblogs.com/-saligia-/p/10216752.html 抽象工厂UML图解析: 抽象工厂模式:client用户需要三步: 1.创建工厂(一种工厂可以有多种功能); 2.生产产品对象; 3.使用对象方法。 代码: Factory.h // // Created by DELL on 2019/10/15. // #ifndef ABSTRACT_FACTORY_FACTORY_H #define ABSTRACT_FACTORY_FACTORY_H #include "Product.h" //工厂类,可以生产两种以上产品:Phone与PC class Factory { public: virtual Phone* CreatePhone() = 0; virtual PC* CreatePC() = 0; }; //HUAWEI工厂 class HUAWEI : public Factory { public: Phone* CreatePhone() override { return new HUAWEIPhone(); } PC* CreatePC() override { return new HUAWEIPC(); } }; //XIAOMI工厂 class XIAOMI : public Factory {