java 命令模式举例
时间: 2023-07-08 09:45:56 浏览: 112
命令模式是一种行为型设计模式,它将请求封装为一个对象,从而允许你使用不同的请求、队列或者日志来参数化其他对象。在 Java 中,命令模式通常使用接口来定义命令,然后实现该接口的具体类来实现不同的命令。
以下是一个简单的 Java 命令模式示例:
首先定义一个命令接口:
```
public interface Command {
void execute();
}
```
然后定义具体的命令实现类:
```
public class OpenCommand implements Command {
private final Editor editor;
public OpenCommand(Editor editor) {
this.editor = editor;
}
@Override
public void execute() {
editor.open();
}
}
public class SaveCommand implements Command {
private final Editor editor;
public SaveCommand(Editor editor) {
this.editor = editor;
}
@Override
public void execute() {
editor.save();
}
}
// 其他命令实现类
```
最后,我们可以使用一个命令执行器来执行不同的命令:
```
public class CommandExecutor {
private final Command openCommand;
private final Command saveCommand;
public CommandExecutor(Command openCommand, Command saveCommand) {
this.openCommand = openCommand;
this.saveCommand = saveCommand;
}
public void openFile() {
openCommand.execute();
}
public void saveFile() {
saveCommand.execute();
}
}
// 使用示例
Editor editor = new Editor();
Command openCommand = new OpenCommand(editor);
Command saveCommand = new SaveCommand(editor);
CommandExecutor executor = new CommandExecutor(openCommand, saveCommand);
executor.openFile();
executor.saveFile();
```
在上面的示例中,我们使用命令模式来实现打开和保存文件的操作。我们首先定义了 `Command` 接口,然后实现了不同的命令类(如 `OpenCommand` 和 `SaveCommand`)。最后,我们使用 `CommandExecutor` 类来执行不同的命令。这种方式可以使我们在不修改其他代码的情况下,灵活地添加新的命令实现类。
阅读全文