意图: 将一个请求封装为一个对象,从而可以使用不同的请求对客户进行参数化;支持请求排队、记录请求日志,以及撤销操作场景: 调用者不需要知道响应者具体做了什么,而只需要一个统一的接口时需要用到队列执行、取消操作、日志恢复的时候类图: 图片来自《设计模式之禅》优点: Command易于通过继承拓展新功能,并且可以在单个子类中实现复合功能缺点: 容易产生子类爆炸