策略枚举:消除在项目里大批量使用if-else的正确姿势

想起刚开始接触JAVA面向对象编程时,若遇到大量流程判断语句,几乎满屏都是if-else语句,多得让自己都忘了哪里是头,哪里是尾,但是,纵然满屏是if-else,但彼时也没有觉得多别扭。等到编程能力渐渐提升之后,再回过头去看曾经写过的满屏if-else时......

可能初学者都会忽略掉一点,其实if-else是一种面向过程的实现。

那么,如何避免在面向对象编程里大量使用if-else呢?

网络上有很多解决思路,有工厂模式、策略模式、甚至是规则引擎(这个太重了吧)......

这些,都有一个共同的缺点,使用起来还是过于繁重了。虽说避免出现过多的if-else,但是,却会增加很多额外的类,我总觉得,很不实用,只能当做某种模式的学习即可。

可以替换大量的if-else语句,且具备较好的可读性与扩展性,同时能显得轻量化,我比较推荐使用策略枚举来消除if-else。

如何使用呢,下面先从一个业务案例开始说起下——

假如有这样一个需求,需实现一周七天内分别知道要做事情的备忘功能,这里面就会涉及到一个流程判断,你可能会立马想到用if-else,那么,可能是会这样实现——

//if-else形式判断public String getToDo(String day){ if("Monday".equals(day)){ return "今天上英语课"; }else if("Tuesday".equals(day)){ return "今天上语文课"; }else if("Wednesd
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值