android 源码设计模式之--命令模式(Command Pattern)

1 模式定义
        将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。就是对命令进行封装,将命令请求者和命令执行者的责任分离开来实现松耦合。
2 应用场景

  1.  系统需要将请求调用者和请求接收者解耦,使得调用者和接收者不直接交互。
  2.  系统需要在不同的时间指定请求、将请求排队(如:线程池+工作队列)和执行请求。
  3.  系统需要支持命令的撤销(Undo)和恢复(Redo)操作(比如系统挂掉之后重启做一些恢复操作,还有数据库的事务等)。     
  4.  系统需要将一组操作组合在一起,即支持宏命令

3 组成部分

  1. 抽象命令接口Command:定义所有具体命令类的抽象接口,声明执行的方法。
  2. 具体的命令对象ConcreteCommand:该类实现了Command接口,持有具体的接受者对象,完成具体的命令。
  3. 接受者对象Receiver:接受者对象,真正执行命令的对象。| 该类负责具体实施或执行一个请求,执行具体逻辑的角色。任何一个类都可以成为一个接收者,而在接收者类中封装具体操作逻辑的方法我们则称为行动方法。
  4. 传递命令对象Invoker:持有命令对象,要求命令对象执行请求。
  5. 客户端对象Client:创建具体命令的对象并且设置命令对象的接受者。

è¿éåå¾çæè¿° 

4 场景说明 

 

 

站在巨人的肩上 参考文献:
https://blog.csdn.net/wwh578867817/article/details/51533263
https://www.imooc.com/article/15444
https://blog.csdn.net/zhwyj1019/article/details/79758057
 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值