命令模式(Command Pattern)是一种行为设计模式,它将请求封装为一个对象,从而使你可用不同的请求、队列或日志请求来参数化其他对象。同时支持可撤销操作。该模式通常涉及三种角色:
命令模式(Command Pattern)在软件开发中就像是遥控器上的一堆按钮。每个按钮都被编程成执行一个特定的动作,比如电视遥控器上的“开/关”按钮、音量增减按钮、频道切换按钮等。当你按下一个按钮时,遥控器就会告诉电视要做什么,而你不需要知道电视里面是怎么实现这些功能的。
在命令模式中,"命令"是一个对象,这个对象封装了对某个方法的调用。这意味着命令对象知道接收者和接收者的操作,并能发送请求给接收者(就像遥控器发信号给电视)。
用更具体的编程例子来说:
假设你正在开发一个文本编辑器,你需要实现复制、粘贴、剪切等功能。
首先,你会定义一个命令接口,这个接口声明了执行操作的方法: