命令模式(Command Pattern)是一种行为型设计模式,它将请求封装为一个对象,从而使我们可以用不同的请求参数化其他对象。下面是一个简单的命令模式示例代码:
首先,定义一个命令接口(Command):
public interface Command {
void execute();
}
然后,定义具体的命令类(ConcreteCommand):
public class ConcreteCommand implements Command {
private Receiver receiver;
public ConcreteCommand(Receiver receiver) {
this.receiver = receiver;
}
@Override
public void execute() {
receiver.action();
}
}
接着,定义一个接收者类(Receiver):
public class Receiver {
public void action() {
System.out.println("执行命令");
}
}
最后,创建一个命令发送者类(Invoker):
public class Invoker {
private Command command;
public void setCommand(Command command) {
this.command = command;
}
public void invoke() {
command.execute();
}
}
在主函数中,创建一个接收者对象,并将其封装为命令对象,然后将其设置为发送者对象的命令:
```java
public class Main {
public static void main(String[] args) {
Receiver receiver = new Receiver();
Command command = new ConcreteCommand(receiver);
Invoker invoker = new Invoker();
invoker.setCommand(command);
invoker.invoke();
}
}
运行结果:
```java
执行命令
通过这个示例,我们可以看到,通过使用命令模式,我们可以轻松地添加、删除或修改命令,而不会影响到调用者。