命令处理器模式(Command Processor)的思考

命令处理器模式(Command Processor)的思考

1.Command Processor模式的概述

具体请参考GOF或者POSA1。

2.思考

1.对于每个命令要求的参数怎么处理?
对于这个问题,一开始我看到这个模式的时候总感觉不理解,因为每个命令千差万别,尤其是每个命令对于参数的要求是不同的,为什么在定义命令的excecute()函数的时候总是没有参数呢?转而又想,不同的命令对象可以把参数保存到自己的成员变量中。

2.如果有很多命令对象怎么处理?
对于一般的应用可能会仅仅有几个命令对象,然后如果有很多命令对象的话,可能会造成类的膨胀,那如何避免这种现象呢?POSA1在讲述这个模式的时候给处理一下建议,然而我想说的是,这么多的小类如何高效的创建呢?关于这一点在Modern C++ Design中提到Small Object的分配问题,或许可以解决一点问题。再者,这么多命令对象的不断创建和销毁,对内存管理也是一个考验,尤其是对于嵌入式设备要求7*24小时没问题,所以对于嵌入式设备如果用C++开发的话,一般都需要自定义的内存管理模块,一般就是指内存池或者内存栈。

3.回调函数
可以说命令模式是C++中的回调函数,哈哈
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值