分类: Java
2011-12-06 17:34:57
命令模式:
命令模式把一个请求或者操作封装到一个对象中,命令模式允许系统使用不同的请求把客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。
命令模式涉及角色:
客户角色: 创建一个具体命令类得抽象接口。这是个抽象角色,通常由抽象类或者接口实现。
命令角色: 声明了一个给所有具体命令类的抽象接口。属于抽象角色。
具体命令角色: 定义一个接收者和行为之间的弱耦合,实现execute 方法,负责调用接收者的相应操作。
请求者角色: 负责调用命令对象执行请求。
接收者角色: 扶着具体实施和执行一个请求,
命令对象的优缺点:
1. 把请求一个操作对象与知道怎么执行一个操作的对象分隔开。
2. 命令类和其他类一样,可修改和推广。
3. 可以把命令聚集一起,合成为合成命令。
4. 方便添加新类而不影响其他类,符合开闭原则。
5. 缺点就是会导致某些系统有过多的命令类。 显得不大实际。