【发布时间】:2013-01-03 10:10:07
【问题描述】:
我这里的代码检测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
}
我已经缩短了我的代码,因为它有很多else if语句,什么设计模式适合去除很多if和else 还是 else if 语句?
【问题讨论】:
-
枚举和开关怎么样?
-
工厂设计模式不适合你的需求?
-
@RomanC 为什么我要使用工厂设计模式?
-
您想简化代码,删除许多 if-else 语句,我使用了工厂模式。允许多态性为您工作。
-
if/else 语句有问题吗?当然,它不是一个漂亮的、过度设计的 OOP 模式,但它很简单且易于维护。任何人阅读它都可以理解它,那么为什么要尝试将其转换为其他东西呢?
标签: java design-patterns