当前位置: 首页 > 面试题库 >

如何通过传递给运行时参数来使用命令模式

傅胡媚
2023-03-14
问题内容

我具有使用命令模式封装在diff命令上的功能。

我正在使用所需的信息和逻辑创建命令,但是我如何 仅在运行 时获取一些参数 而我需要提供命令

例如:

public class sendMessageToServerCommand implements Command {

    @Override
    public void execute(String msg){
          sendToServerTheMsg(msg);
    }
}

..
Command command=new sendMessageToServerCommand();
command.execute("msg I got on runtime");

也许我不应该使用命令模式并考虑其他事情?建议?

谢谢。


问题答案:

Command模式规定了一个对象,该对象在创建后就可以不带任何参数地执行(例如:Runnable或Callable),但是,没有什么可以阻止在创建过程中传递参数的。因此您只需将msg参数从execute()方法移至命令的构造函数即可。

在“命令”模式的典型用法中,命令是在一个位置创建并在另一位置执行。创建逻辑已参数化;执行逻辑不是。



 类似资料:
  • 我有使用命令模式封装在差异命令上功能。 谢了。

  • 我需要根据Spring Boot Maven应用程序中的环境细节激活配置文件。我在设置中配置了配置文件。xml 我尝试通过激活配置文件使用命令 但是配置文件没有正确激活。但是它是通过添加标签来工作的。 但是我需要激活特定环境的配置文件 我们可以通过任何方式将参数传递给设置中的。xml文件?类似于此 参考: 如何从命令行激活配置文件? 通过Maven在SpringBoot中配置活动配置文件 http

  • 问题内容: 我有以下问题。我想从命令行运行一个文件。接受参数。 如何从命令行执行此操作? 我试图找到一个例子,但没有成功。有人可以帮我举一个例子吗? 我看了这里,但不太明白该怎么办。 另外, 如何从与Main.java文件夹不同的文件夹中执行该命令? 例如位于。我应该放什么 问题答案: 您可以运行:。 这会将参数 arg1 传递给您的程序。 您应该指定完全合格的主类,例如,在包测试中的Main.j

  • 在通过Maven运行时,我需要传递给Karate的附加设置可以在karate-config.js中获得。目前,我可以使用karate.env属性传入一个字符串--是否需要将参数编码为JSON对象并通过这个属性传入,或者我可以做如下操作: 我肯定我错过了一些明显的东西...

  • 我使用atom-run(https://github.com/lsegal/atom-runner)运行内联我的nodejs程序。 使用此插件时,是否可以传递命令行参数?点击Alt R启动节点,但由于我的脚本需要参数,它失败了。 在运行之前,如何传递命令行参数?

  • 要启动Java程序,我可以传递如下参数: 在gradle命令行中有哪些好的方法可以做到这一点: 这是正在建造的。格雷德尔: