啰嗦几句:
在平时的项目里总是不断地加需求,加着加着就不知不觉的多了一大堆if-else,回首一看,脑子里就一个字,这是翔吗?
网络上有很多解决思路,有工厂模式、策略模式......,但是有的时候每一个分支只是小小的代码块,用设计模式时间成本又太高了,可以替换大量的if-else语句,且具备较好的可读性与扩展性,同时能显得轻量化,我比较推荐使用策略枚举来消除if-else。
public enum DayEnum {
Monday {
@Override
public String toDo(String name) {
return "今天上英语课";
}
},
Tuesday {
@Override
public String toDo(String name) {
return "今天上语文课";
}
},
Wednesday {
@Override
public String toDo(String name) {
return "今天上数学课";
}
},
Thursday {
@Override
public String toDo(String name) {
return "今天上音乐课";
}
};
public abstract String toDo(String name);
}