首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

怎么使用设计模式去除if else的硬编码语句呢

2012-10-13 
如何使用设计模式去除if else的硬编码语句呢??如何去除if else的硬编码语句呢??在代码中经常碰到if else

如何使用设计模式去除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,关键看是你的意图是什么。

热点排行