命令模式
- 摘要:将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。在命令模式中,当一个对象请求另一个对象调用其方法时,不和被调用的对象直接打交道,而是把这种”请求“封装到一个称作“命令”的对象中,其封装手段就是将“请求”封装到命令对象的一个方法中。命令模式的核心就是使用命令对象来封装调用,即将请求者的请求接收者的调用方法都封装到命令对象的一个方法中,这样当一个对象请求另一个对象调用方法完成某项任务的时候,只需要和命令对象打交道。命令模式优点
- 标签:模式 命令
将一个请求封装为一个对象,从而使用户可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。
在命令模式中,当一个对象请求另一个对象调用其方法时,不和被调用的对象直接打交道,而是把这种”请求“封装到一个称作“命令”的对象中,其封装手段就是将“请求”封装到命令对象的一个方法中。命令模式的核心就是使用命令对象来封装调用,即将请求者的请求接收者的调用方法都封装到命令对象的一个方法中,这样当一个对象请求另一个对象调用方法完成某项任务的时候,只需要和命令对象打交道。
命令模式优点:在命令模式中请求者不直接与接收者进行交互,因此侧地消除了彼此之间的耦合。
命令模式满足“开闭原则”
命令模式适合使用场景:①程序需要在不同时刻指定,排列和执行请求。
②程序需要提供撤销操作
③程序需要执行宏操作