我们在开发asp.net时,经常有使用if...else...或者是使用switch来进行多个条件判断。如下面这篇《》,就是一段代码:
其实按上面的写法一点问题都没有,但是我们在审检代码看到这段代码时似乎要花点时间阅读,用意也不够明朗,藕合性也高。建议把每个case块写成一个独立的方法。然后再调用它,目的是为最小化方法。这样子,程序就可以改为: 修改到这里,我们需要复习一下设计模式的中介者(Mediator)模式,更多实例可参考《》 和《》 。意思就是说,当遇上有多个if或是switch时,我们是可以使用中介者设计模式来解决,说白了就是替换。下面我们创建一个中介者: 写好了,我们就可以重构switch程序了: 实时执行演示,得到的结果与原来一模一样:本篇有告诉我们,程序不是一次写好,而是经过重构才会写得完善,房子建好之后只能是毛坯房,是需要装修,Insus.NET对重构的理解,就是对原本质没有太大改变时,去做一些变动,适合舒适。重构的同时,往往会带有设计模式的理念进行。
本演示源程序可从下面链接下载: