一、什么是命令模式?
命令模式定义:将一个请求封装成一个对象,将使用请求的对象和实现请求的对象分开。这样两者之间通过命令对象进行沟通,这样降低了系统耦合
举个例子:小明要打开电视,那么小明直接点击遥控器的开机按钮,电视就开,在这个过程中的对象如下
- 小明:调用者
- 遥控器:命令发送者
- 电视:命令接收者
二、如何实现命令模式?
接下来通过以下代码实现上面的例子
public class CommandDemo {
public static void main(String[] args) {
// 1 建好一个遥控器命令
Command realCommand = new RealCommand();
// 2 新建执行者 小明
Invoker xiaoming = new Invoker(realCommand,"小明");
// 3 小明点击打开电视
xiaoming.open();
}
}
// 接收者
class Receiver {
public void openTV() {
System.out.println("电视机收到开机命令,电视开机了");
}
}
// 具体命令,只负责传递一个执行命令
class Rea