命令模式
来源:互联网 发布:网络暴力电影 编辑:程序博客网 时间:2024/06/05 03:31
命令模式就是将一系列的方法调用封装,用户只需调用一个方法执行,那么所有这些被封装的方法就会被挨个执行调用,从而进行解耦,从而更具灵活性。将请求封装成对象,用户使用不同的请求把客户端参数化,对请求排队或记录请求日志,以及支持可撤销的操作。
需要抽象出待执行的动作,然后以参数的形式提供出来。需要支持取消操作。需要支持事务操作。支持修改日志功能,当系统崩溃时,这些修改可以重做。
命令模式通用UML:
命令模式实体UML:
关于撤销和重做功能:通过在Invoker中设置一个命令列表来存储使用过的命令,然后使用一个current指示器指向命令列表,重做则current=current+1,撤销则current=current-1。对象可以响应命令,或将命令交给它的从属对象,从而实现一个责任链模式。当命令是无状态的纯粹行为,有多个实例是浪费内存的,可以使用享元模式。
命令模式在生活中的应用简直不要太多,遥控器就是很好的例子。在游戏里的控制器也是很好的例子。
0 0
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 命令模式
- 《JAVA与模式》之单例模式
- MySQL系列:innodb源码分析之mini transaction
- 简单ftp实现
- WSgi+Django+websocket的实现
- 关于Java的10个谎言
- 命令模式
- CodeBlocks 的安装以及编译器的配置
- 分布式系统session同步
- 使用Nginx后如何在web应用中获取用户ip及原理解释
- js 生成随机数字(1-9)数字键盘
- 软件中的各种图
- HTTP深入浅出 http请求
- leetcode 69. Sqrt(x)
- cartographer的运行