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 @   朱小勇  阅读(90)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
历史上的今天:
2020-02-25 Vector求最大值最小值
点击右上角即可分享
微信分享提示