23种设计模式之命令模式(Command)
命令模式是一种对象的行为型模式,类似于传统程序设计方法中的回调机制,它将一个请求封装为一个对象,从而使得可用不同的请求对客户进行参数化;对请求排队或者记录请求日志,以及支持可撤销的操作。命令模式是对命令的封装,将发出命令的责任和执行命令的责任分割开,委派给不同的对象,以实现发送者和接收者完全解耦,提供更大的灵活性和可扩展性。
优点:
1)将调用操作的对象与知道如何完成该操作的对象相分离。
2)更容易添加新命令,因为不用修改已有类。
使用场景:
1)想要通过要执行的动作来参数化对象。
2)要在不同的时间指定、排序以及执行请求。
3)必须支持Undo、日志记录或事务。
Command 模式