原则
- 能够解耦发出请求的对象和执行请求的对象
- 命令对象内部需要封装执行请求的对象
核心点
- 命令抽象类存在一个执行动作的抽象函数
- 命令的实现对象来实现这个抽象函数,并且最重要的是委托具体执行对象来实现最终逻辑的
- 也就是说命令的实现对象内部会保存执行对象的引用或者实例
最终目的
为了解耦。解耦发出请求对象和执行请求的对象,实现发送请求的对象不需要知道如何执行。
示例如:
- 服务员不需要知道如何做一道菜,他只需要知道客户点了什么菜就行
- 线程队列不需要知道每个执行动作会产生什么变化,只需要运行线程即可
感受
类似分工细化,流水线上游不需要知道下游应该怎么做,遇到这种不关心你是如何做的,我觉得就可以用一个公共抽象层,具体的实现抽象接口时封装你的行为逻辑,达到解耦
定义
将请求封装成对象,可以让你使用不同的请求、队列,或者日志请求,来参数化其它对象,命令模式也可以支持撤销动作。
类图

作者:admin 创建时间:2024-07-02 16:30
最后编辑:admin 更新时间:2025-02-10 11:18
最后编辑:admin 更新时间:2025-02-10 11:18