如何使用设计模式去除if else的硬编码语句呢?

 

如何去除if else的硬编码语句呢?

 

在代码中经常碰到if else 语句,当你看到这些硬编码的if else时有没有想处理掉的冲动呢?

 

if else的判断逻辑是不是比较简单,简单到只是某个字符串的相等判断,if else 要干的事情,是侧重处理 handle 还是侧重算法,如果意图是处理,那么可以考虑是命令,如果意图是算法,那么可以考虑是策略。那么如何产生这些handler,或者strategy呢?当然是工厂模式了。但是在工厂模式或者创建方法,还是有if else 语句啊。不论是工厂中使用class反射,还是new。

 

我们只是通过构建Map,通过Spring注入到类中,再通过key来得到某个实现类,这些实现类都是实现了统一的一个接口,这样就去除了if else的硬编码语句。

你可以把抽象出来的接口看作command,也可以看作strategy,关键看是你的意图是什么。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值