1.简介
- 将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求进行排队或者记录日志,以及支持可撤销的操作。
- 命令模式是一种行为型模式。
2.场景
在软件系统中,行为请求者与行为实现者通常是一种紧耦合的关系,但某些场合,比如需要对行为进行记录、撤销或重做、事务等处理时,这种无法抵御变化的紧耦合的设计就不太合适。
3.优缺点
优点:
1、它能比较容易地设计一个命令队列。
2、在需要的情况下,可以比较容易地将命令记入日志。
3、允许接收请求的一方决定是否否决请求。
4、 可以容易地实现请求的撤销和重做。
5、 由于加进了新的具体命令类不影响其他类,因此增加新的具体命令类很容易。
6、命令模式把请求一个操作的对象与知道怎么执行一个操作的对象分割。
缺点:
使用命令模式可能会导致某些系统有过多的具体命令类。
image.png4. 图片模型
image.png5. 代码实现
image.png
image.png
image.png image.png
网友评论