java 命令模式

来源:互联网 发布:上海踩踏事件 知乎 编辑:程序博客网 时间:2024/06/08 04:19

1.命令模式的宗旨就是不断的使用组合,调用者对象持有命令对象,命令对象持有真正的接受者对象,UML类图如下:


2.代码实现:

class Receiver(){ public void action(){ }}interface Command(){ public void execute();}class ConcreteCommand implements Command{ Receiver receiver; public ConcreteCommand (Receiver receiver){  this.receiver = receiver;} @override public void execute(){  receiver.action(); }}class Invoker{ Command command; public Invoker(Command command){   this.command=command }  public void action(){ command.execute(); }}

3.命令模式优点:
(1)松耦合
(2)易扩展
4.使用场景:
命令模式,我们在日常的工作中或多或少的在不知不觉中都使用过这个模式了,如果有下列场景出现适合用命令模式:
(1)系统需要支持撤销功能的时候可以使用到命令模式。
(2)如果一个系统要求所有的数据都更新到日志里,等到系统崩溃的时候进行数据恢复(有点类似撤销功能)。

0 0
原创粉丝点击