·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> 重构if...else...或者switch程序块

重构if...else...或者switch程序块

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

重构if...else...或者switch程序块

我们在开发asp.net时,经常有使用if...else...或者是使用switch来进行多个条件判断。如下面这篇《用户控件(UserControl) 使用事件 Ver2》http://www.cnblogs.com/insus/archive/2011/11/18/2253605.html,就是一段代码:

其实按上面的写法一点问题都没有,但是我们在审检代码看到这段代码时似乎要花点时间阅读,用意也不够明朗,藕合性也高。建议把每个case块写成一个独立的方法。然后再调用它,目的是为最小化方法。这样子,程序就可以改为:

修改到这里,我们需要复习一下设计模式的中介者(Mediator)模式,更多实例可参考《设计模式--中介(Mediator)模式》http://www.cnblogs.com/insus/p/4134383.html和《开发(ASP.NET程序)把写代码写至最有面向对象味道》http://www.cnblogs.com/insus/p/4139346.html。意思就是说,当遇上有多个if或是switch时,我们是可以使用中介者设计模式来解决,说白了就是替换。下面我们创建一个中介者:

写好了,我们就可以重构switch程序了:

实时执行演示,得到的结果与原来一模一样:

本篇有告诉我们,程序不是一次写好,而是经过重构才会写得完善,房子建好之后只能是毛坯房,是需要装修,Insus.NET对重构的理解,就是对原本质没有太大改变时,去做一些变动,适合舒适。重构的同时,往往会带有设计模式的理念进行。本演示源程序可从下面链接下载:http://download.cnblogs.com/insus/Refactoring/fact_switch_mediator_pattern.rar