设计模式学习笔记(六)- --命令模式

[同系列文章]
1. 设计模式学习笔记(一)- -策略模式
2. 设计模式学习笔记(二)- -观察者模式
3. 设计模式学习笔记(三)- –装饰者模式
4. 设计模式学习笔记(四)- –工厂模式
5. 设计模式学习笔记(五)- –单件模式


又是崭新的一日,今天我来学习命令模式~~~GoGoGo:)
看了一下书,好多页呀哈哈哈,有得撸


命令模式

将“请求”封装成对象,以便使用不同的请求 、队列或者日志来参数化其他对象。命令模式也支持可撤销的操作。

书中的引子梳理:

对象村餐厅:
客人发出订单请求,调用createOrder()方法,女招待调用takeOrder()方法拿走订单,然后调用orderUp()方法通知厨师做菜,厨师根据订单调用具体的做菜方法,如makeXXX()来烹饪,做好之后,调用outPut()方法出菜。
订单:封装准备餐点的请求createOrder();
女招待:接受订单takeOrder();,调用orderUp();
厨师:准备餐点,调用makeXXX();

该餐厅的这些步骤,可以视作为一个模型,该模型允许将“发出请求的对象”和“接受和执行这些请求的对象”分隔开来。

将餐厅的这些步骤变成命令模式

Client客户端:createCommandObject();execute();setCommand();
Invoker 执行者:execute();
Receiver接收者:action1(),action2();…..
配合图看↓
这里写图片描述

重点来了↓

类图

这里写图片描述

相关实例代码:
我又偷懒了,,见谅见谅
这里写图片描述
这里写图片描述
这里写图片描述

就是这么简单。

其他功能性的拓展, 创建一个新的功能类并实现Command就可以了。

应用场景:队列请求、日志请求……学完之后的感觉简直美滋滋,Perfect ε≡٩(๑>₃<)۶ 一心向学

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值