gpt4 book ai didi

java - 参数处理的设计模式

转载 作者:行者123 更新时间:2023-12-01 06:11:23 24 4
gpt4 key购买 nike

我有一个 Java 程序用作命令行应用程序。我正在使用jopt用于参数处理。当从 Jopt 获取值时,代码会变得丑陋,因为多种情况取决于选择执行路径的参数值。

以下方法负责根据参数的值选择下一步:

private void processArgs(String args[])  {
.......
if (argsList.contains(VERSION)) {
showVersion();
return;
}

if (argsList.contains(SHOWENV)) {
showEnv();
}

if (parsed.has(TARGET_LANG)) {
String targetedLang = _targetLangOptionSpec.value(parsed);

if (!JAVA.equalsIgnoreCase(targetedLang))
{
execJava();
return;
}
}
if (parsed.has(TARGET)) {
processTargets();
return;
}

if (parsed.has(EXEC)) {
processExec();
}

if (parsed.has(CONSOLIDATE)) {
consolidate();
}
......
}

我想知道这个案例是否已经通过某种设计模式进行了处理。

我已经查看了答案 here但没有提出明确的解决方案。

最佳答案

一种选择是创建一个单独的类来解析参数。然后,您可以查询其状态以确定应使用哪些执行案例。

这种方法将解析与执行分开,我认为这是很好的设计(如果我错了,请纠正我)。

关于java - 参数处理的设计模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34188186/

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