场景:考虑一系列文档操作:打开、复制、剪切、粘帖。
结构
代码实现
要点:
1、本模式的基本目的在于将行为请求者和实现者解耦,常见的实现方法是将行为抽象为对象。
2、实现行为的具体对象有时候根据需要可能会保存一些额外的状态信息,比如实现撤销、重做时。
3、可以和Composite模式结合,实现多个命令的组合成复杂命令。
4、本模式和Delegate有些类似。但两者定义行为接口的规范有所区别:本模式以面向对象中“接口-实现”来定义行为接口规范,更严格,更符合抽象原语;Delegate以函数签名来定义行为接口规范,更灵活,但抽象能力比较弱。