命名模式的注意事项和细节
命令模式的注意事项和细节
- 将发起请求的对象与执行请求的对象解耦.发起请求的对象是调用者,调用者只要调用命令对象的execute()方法就可以让接受者工作,而不必知道具体的接收者对象是谁,他也不认识他对象,也不知道是如何实现的,命令对象会负责让接受者执行请求的动作,也就是说:"请求发起者"和"请求执行者"之间的解耦是通过命令对象实现的,命令对象起到了纽带桥梁的作用.
- 容易设计一个命令队列.只要把命令对象放到队列,就可以多线程的执行命令
- 容易实现对请求的撤销和重做
- 命令模式的不足: 可能导致某些系统有过多的具体命令类,增加了系统的复杂度,这点在使用的时候要注意一下
- 空命令他也是一种设计模式,他为我们省去了判断空的操作.在上面的实例中,如果没有用空命令,我们没按下一个按键都要去判断空,这给我们编码带来了一定的麻烦.
- 命令模式经典的应用场景:界面的一个按钮都是一条命令,模拟CMD(DOS命令)订单的撤销/恢复,出发-反馈机制