命令模式——封装调用

命令模式

将请求封装成对象,以便使用不同的请求来参数化其他对象。命令模式支持可撤销的操作。通过这种封装的方式将客户端和接收端解耦。

命令模式关系类图

  1. Command:抽象命令接口,声明执行的方法。
  2. ConcreteCommand:具体的命令对象,持有具体的接受者对象,完成具体的命令
  3. Receiver:接受者对象,真正执行命令的对象
  4. Invoker:传递命令对象,持有命令对象,要求命令对象执行请求
  5. Client:客户端对象,创建具体命令的对象
    [外链图片转存失败(img-yfxRplW8-1562252159449)(en-resource://database/600:0)]

命令撤销

在发现某个请求并执行后,将命令执行状态保存。我们可以通过命令撤销的方式回到之前的状态。

优缺点

优点

  1. 实现客户端和接收端之间的解耦
  2. 便于动态添加新的命令
  3. doCommand方法可实现不同的功能

缺点

实现一个具体的命令系统可能会创建很多的具体命令对象。

实例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值