C++-工厂模式

1、目的

一般菜鸟程序员写一个类,用来创建各种类型的数据并返回,也就是工厂,往往通过定义一个枚举,根据外部设置的枚举返回不同数据。

但是这样每增加一个返回数据,就要增加枚举值,代码还会又臭又长。

我们通过函数来创建不同类型数据并返回,各数据有同一个基类。

 

2、代码-返回数据

//共同基类
class AAA {


};

//实际类型XXX
class XXX : public AAA {

};

//实际类型YYY
class YYY : public AAA {

};

 

3、代码-简单工厂

class DtctrFactory {
public:
    std::shared_ptr<AAA> createXXXData(void* addr, unsigned int count, ChanelType t)
    {
        return  std::make_shared<XXX>(addr, count, t); 
    }
    std::shared_ptr<AAA> createYYYData(void* addr, unsigned int count, ChanelType t)
    {
        return  std::make_shared<YYY>(addr, count, t); 
    }
};

 

posted @ 2022-02-25 15:15  朱小勇  阅读(86)  评论(0编辑  收藏  举报