设计模式介绍之三:命令模式(command)
发布时间
阅读量:
阅读量
命令(模式)的结构很简单,但对于消除代码间的耦合却有着重要的影响。
在C语言中我们常用回调机制来处理事件而命令模式则是将这种机制面向对象化的替代方案从直观的角度来看命令模式即是一个功能体它能够以可传递的形式存在并告知相关组件在执行请求时应采取的具体行动可以说这是一种携带行为信息的行为载体
命令模式在开发 GUI 界面过程中发挥着至关重要的作用。例如,在 MFC 框架下,默认情况下会为每个菜单项绑定一个 on_command 宏以处理其响应事件。而如果采用命令模式与工厂模式相结合的方式,则能够实现更为精巧的应用架构设计。
意图是指一种功能设计思路:通过将单个请江能够被打包成一个统一的对象模型,并在此基础上实现多维度的数据管理功能。具体而言,在这种架构下可以实现以下几项核心功能:其一能够灵活地根据不同的业务需求应用到各类型客户中去并完成相应的处理工作;其二能够实现对所有待处理的请求数量进行统计并生成相应的统计报表;其三提供撤销功能以便于及时回滚处理过程中的异常情况
已知应用举例 * Qt , QAction
常见问题 * Command 对象生命周期维护
适用环境 * 在不确定的时间节点上指派、安排并执行请求任务。
- 允许取消操作。
- 提供修改日志的功能。
- 通过基于底层操作构建高级操作来实现系统功能。
- 专注于提供可接受的操作请求而不关心具
全部评论 (0)
还没有任何评论哟~
