gpt4 book ai didi

java - 使用命令设计模式

转载 作者:太空狗 更新时间:2023-10-29 23:01:19 26 4
gpt4 key购买 nike

任何人都可以用一个简单的例子来解释命令模式吗?我尝试在互联网上搜索,但我感到困惑。

最佳答案

public interface Command {
public void execute();
}

在大多数情况下,命令是不可变的,并且包含封装按需执行的单个操作的指令。您可能还有一个在执行时接受指令的 RuntimeCommand,但这会根据实现更多地深入研究策略或装饰器模式。

在我看来,我认为注意命令的不可变上下文非常重要,否则该命令将成为建议。例如:

public final class StopServerCommand implements Command {
private final Server server;

public StopServerCommand(Server server) { this.server = server; }

public void execute() {
if(server.isRunning()) server.stop();
}
}

public class Application {
//...
public void someMethod() {
stopButton.addActionListener(new ActionListener() {
public void actionPerformed(Event e) {
stopCommand.execute();
}
});
}
}

我个人不太喜欢命令。根据我自己的经验,它们只适用于框架回调。

如果有帮助,请从隐喻的角度考虑命令;一名训练有素的士兵由他/她的指挥官下达命令,士兵根据要求执行该命令。

关于java - 使用命令设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2015549/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com