使用命令模式:
public interface Command { void exec();}public class CommandA() implements Command { void exec() { // ... }}// etc etc
然后构建一个
Map<String,Command>对象并用
Command实例填充它:
commandMap.put("A", new CommandA());commandMap.put("B", new CommandB());
那么你可以将if / else if链替换为:
commandMap.get(value).exec();
编辑
你还可以添加诸如
UnknownCommand或的特殊命令
NullCommand,但是你需要一个
CommandMap处理这些特殊情况的命令,以最大程度地减少客户的检查。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)