Java设计模式之命令模式的实战应用
作者:SunnyJourney
时间:2024-05-20
来源:互联网
浏览:0
问题:如何应用命令模式?步骤:创建命令接口以定义所有命令的公共接口。实现命令接口以创建具体命令,封装特定动作。创建调用者类以向命令发送请求。创建接收者类以执行由命令请求的动作。
问题:如何应用命令模式?步骤:创建命令接口以定义所有命令的公共接口。实现命令接口以创建具体命令,封装特定动作。创建调用者类以向命令发送请求。创建接收者类以执行由命令请求的动作。

Java设计模式:命令模式的实战应用
概述
命令模式是一种行为设计模式,它通过将请求与执行请求的对象解耦来向对象和客户端提供松散耦合。
如何应用
要实现命令模式,需要创建以下类:
- 命令接口:定义所有命令的公共接口。
- 具体命令:实现命令接口并执行特定动作。
- 调用者:向命令发送请求。
- 接收者:执行由命令请求的动作。
实战案例
以下是一个使用命令模式实现遥控器的 Java 示例:
// 命令接口
interface Command {
void execute();
}
// 具体命令:开电视
class TurnOnCommand implements Command {
private Television television;
public TurnOnCommand(Television television) {
this.television = television;
}
@Override
public void execute() {
television.turnOn();
}
}
// 具体命令:关电视
class TurnOffCommand implements Command {
private Television television;
public TurnOffCommand(Television television) {
this.television = television;
}
@Override
public void execute() {
television.turnOff();
}
}
// 调用者:遥控器
class RemoteControl {
private List commands;
public RemoteControl() {
commands = new ArrayList<>();
}
public void addCommand(Command command) {
commands.add(command);
}
public void pressButton() {
for (Command command : commands) {
command.execute();
}
}
}
// 接收者:电视
class Television {
public void turnOn() {
System.out.println("电视已打开");
}
public void turnOff() {
System.out.println("电视已关闭");
}
}
// 主方法
public class Main {
public static void main(String[] args) {
// 创建电视
Television television = new Television();
// 创建命令
Command turnOnCommand = new TurnOnCommand(television);
Command turnOffCommand = new TurnOffCommand(television);
// 创建遥控器并添加命令
RemoteControl remoteControl = new RemoteControl();
remoteControl.addCommand(turnOnCommand);
remoteControl.addCommand(turnOffCommand);
// 按下遥控器的按钮
remoteControl.pressButton();
}
} 在该示例中,TurnOnCommand 和 TurnOffCommand 类实现了 Command 接口并封装了打开和关闭电视机的动作。RemoteControl 类扮演调用者的角色,负责向命令发送请求。Television 类作为接收者,接收并执行请求的动作。
通过这种方式,命令模式将动作与执行动作的对象解耦,提高了系统的灵活性、可扩展性和可维护性。
作者最新文章
图几
2026-09-16 17:43
SQL中ROUND函数对0.5的处理机制及强制四舍五入方法
2026-09-15 14:19
JS金额计算怎么避免四舍五入误差
2026-09-14 17:32
韩国8月携号转网数据:Galaxy Z8系列iPhone用户转化率约为Z7系列2倍
2026-09-08 17:02
AE基础教程:如何创建合成并制作关键帧动画
2026-09-04 09:27
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多
Windows 10
Windows
Windows 10 是一款微软推出的经典操作系统,拥有硬件兼容性与多任务处理能力。它更偏向把系统状态查看和常用调节动作放在一起,适合需要持续观察和微调设备状态的场景。
极度公式
Windows/macOS/Linux
极度公式是一款跨平台专业LaTeX公式识别编辑软件,支持OCR公式识别和多平台编辑。和使用说明,避免使用,享受完整功能与稳定支持。做扫描整理、文字提取和表格转换时,它能把识别后的处理步骤接得更顺,资料录入这类场景会省下不少时间。
















