【发布时间】:2011-02-03 02:39:28
【问题描述】:
好吧,猜猜这个问题看起来很像:
What is the best way to replace or substitute if..else if..else trees in programs?
考虑关闭这个问题!
我想重构如下所示的代码:
String input; // input from client socket.
if (input.equals(x)) {
doX();
} else if (input.equals(y)) {
doY();
} else {
unknown_command();
}
它是检查来自套接字的输入以执行某些操作的代码,但我不喜欢 if else 构造,因为每次将新命令添加到服务器(代码)时,都必须添加一个新的 if else很丑。此外,在删除命令时,if else 也必须修改。
【问题讨论】:
-
Map?实际上,这只是解决问题。不过,我会将这些函数放在不同的实例中,并且可能会滑入interface。 -
(Psst 第 2 行和第 4 行缺少右括号。)
-
哎呀:)。你说的对。修复它们。
标签: java refactoring