相关疑难解决方法(0)

将许多"if else"语句转换为更清晰的方法

我的代码在这里检测是否mimeType等于某种MIME类型,如果是,它将进行某种转换

public void convertToMp3(File src, File target,String mimeType){
    if(mimeType.equals("audio/mpeg")){
        ...
    }else if(mimeType.equals("audio/wav")){
        mp3ToWav();
    }else if(mimeType.equals("audio/ogg")){
        ...
    }else if(...){
    ... //More if and else here
}
Run Code Online (Sandbox Code Playgroud)

我缩短了我的代码,因为它有很多其他if语句,什么设计模式适合删除许多ifelseif语句?

java design-patterns

111
推荐指数
3
解决办法
4万
查看次数

Java中if语句的长列表

对不起,我找不到回答这个问题的问题,我几乎可以肯定其他人已经提出了这个问题.

我的问题是我正在编写一些系统库来运行嵌入式设备.我有命令可以通过无线电广播发送到这些设备.这只能通过文字来完成.在系统库中我有一个线程来处理看起来像这样的命令

if (value.equals("A")) { doCommandA() }
else if (value.equals("B")) { doCommandB() } 
else if etc. 
Run Code Online (Sandbox Code Playgroud)

问题是它有很多命令会迅速失控.看起来很可怕,调试很痛苦,并且在几个月的时间里难以理解.

java design-patterns command-pattern

100
推荐指数
5
解决办法
3万
查看次数

标签 统计

design-patterns ×2

java ×2

command-pattern ×1