aoi学院

Aisaka's Blog, School of Aoi, Aisaka University

设计模式-20软工第10周安排

重点难点

  1. 理解命令模式的动机和结构
  2. 理解命令模式的实现原理
  3. 学会应用命令模式解决问题。

师说

  1. 命令模式的关键之处就是把请求封装成为对象,也就是命令对象,并定义了统一的执行操作的接口,这个命令对象可以被存储、转发、记录、处理、撤销等,整个命令模式都是围绕这个对象在进行。

  2. 命令模式的组装和调用
    在实际开发过程中,Client和Invoker可以融合在一起,由客户在使用命令模式的时候,先进行命令对象和接收者的组装,组装完成后,就可以调用命令执行请求。

  3. 命令模式的接收者
    接收者可以是任意的类,对它没有什么特殊要求,这个对象知道如何真正执行命令的操作,执行时是从command的实现类里面转调过来。
    一个接收者对象可以处理多个命令,接收者和命令之间没有约定的对应关系。接收者提供的方法个数、名称、功能和命令中的可以不一样,只要能够通过调用接收者的方法来实现命令对应的功能就可以了。

  4. 智能命令
    在标准的命令模式里面,命令的实现类是没有真正实现命令要求的功能的,真正执行命令的功能的是接收者。
    如果命令的实现对象比较智能,它自己就能真实地实现命令要求的功能,而不再需要调用接收者,那么这种情况就称为智能命令。
    也可以有半智能的命令,命令对象知道部分实现,其它的还是需要调用接收者来完成,也就是说命令的功 能由命令对象和接收者共同来完成。

  5. 发起请求的对象和真正实现的对象是解耦的
    请求究竟由谁处理,如何处理,发起请求的对象是不知道的,也就是发起请求的对象和真正实现的对象是解耦的。发起请求的对象只管发出命令,其它的就不管了


设计模式 ——— 命令模式
百度百科 命令模式


参考资料

20软工第10周安排