设计模式(6):C++工厂+注册
目录
实现动机
实现方法
一个单例的对象工厂代码
Factory最终的实现
用法示例:
实现动机
最近项目中需要用到工厂模式,但是普通的工厂模式面临一个问题,每新增一个派生类,都需要在工厂中加一个case分支,这样就会频繁地修改工厂的代码,而且随着派生类越来越多,case分支也逐渐增多,代码越来越臃肿,对于后期的维护也不友好。下面是一个工厂方法的伪代码:
Message* create(int type)
{
switch (type)
{
case MSG_PGSTATS:
m = new MPGStats;
break;
case MSG_PGSTATSACK:
m = new MPGStatsAck;
break;
case CEPH_MSG_STATFS:
m = new MStatfs;
break;
case CEPH_MSG_STATFS_REPLY:
m
版权声明:
作者:zhangchen
链接:https://www.techfm.club/p/19663.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。
THE END
二维码
共有 0 条评论