// 创建一个简单的 Java 类,用于演示如何创建和使用指令(命令模式)
// 定义一个指令接口
interface Command {
void execute();
}
// 定义一个接收者类
class Receiver {
public void performAction() {
System.out.println("执行操作");
}
}
// 实现具体的指令类
class ConcreteCommand implements Command {
private Receiver receiver;
public ConcreteCommand(Receiver receiver) {
this.receiver = receiver;
}
@Override
public void execute() {
receiver.performAction();
}
}
// 定义调用者类
class Invoker {
private Command command;
public void setCommand(Command command) {
this.command = command;
}
public void invoke() {
if (command != null) {
command.execute();
} else {
System.out.println("没有设置指令");
}
}
}
// 测试代码
public class CreateCommandExample {
public static void main(String[] args) {
// 创建接收者对象
Receiver receiver = new Receiver();
// 创建具体指令对象,并将接收者传递给它
Command command = new ConcreteCommand(receiver);
// 创建调用者对象,并将指令传递给它
Invoker invoker = new Invoker();
invoker.setCommand(command);
// 执行指令
invoker.invoke();
}
}
execute()
方法,所有的具体指令类都需要实现这个方法。Command
接口,持有 Receiver
对象,并在 execute()
方法中调用 Receiver
的操作。setCommand()
方法设置要执行的指令,然后通过 invoke()
方法执行该指令。这种方式可以将请求的发送者和接收者解耦,使得系统更加灵活和易于扩展。
上一篇:java8 新特性
下一篇:java record关键字
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站