重构if...else...或者switch程序块
2023-09-27 14:21:30 时间
我们在开发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时,我们是可以使用中介者设计模式来解决,说白了就是替换。
下面我们创建一个中介者:
本篇有告诉我们,程序不是一次写好,而是经过重构才会写得完善,房子建好之后只能是毛坯房,是需要装修,Insus.NET对重构的理解,就是对原本质没有太大改变时,去做一些变动,适合舒适。重构的同时,往往会带有设计模式的理念进行。
本演示源程序可从下面链接下载:
http://download.cnblogs.com/insus/Refactoring/fact_switch_mediator_pattern.rar
相关文章
- 程序人生:25岁我从零基础转到软件测试,我看到了前途...目前28K
- 微信小程序 - 提示消息组件
- 微信小程序 - 下拉菜单组件
- 单片机程序,串口打印
- 重构后的程序:通过rsync命令抓取日志文件
- 重构前的程序:通过rsync命令抓取日志文件
- 一次java程序的重构
- 汇川使用笔记4:IO点位和程序变量关联
- windows下利用批处理脚本监控程序
- 小程序云开发基础
- 基于微信PC端小程序抓包方法
- java获取小程序openid
- 小程序 坐标算距离 (copy)
- 微信小程序项目实战之豆瓣天气
- Python 桌面程序教程之一次性窗口,最简单的模式(教程含源码)
- 3、小程序消息推送
- 《从问题到程序:用Python学编程和计算》——练习
- 微信小程序error message Cannot find module ‘wx-server-sdk‘; at cloud.callFunction api
- 【ASIC设计】Verilog 程序语法小知识(补漏篇)
- Java多次启动相同jar程序
- 微信小程序导出zip、excel、word、png到手机
- 小程序登录