六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 106|回复: 0

架构,改善程序复用性的设计~第三讲 实现一种功能的代码只能出现在一处

[复制链接]

升级  44.3%

618

主题

618

主题

618

主题

探花

Rank: 6Rank: 6

积分
1886
 楼主| 发表于 2012-12-10 15:51:46 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">从标题中可以看到本篇文章将介绍代码随意性的缺点及由此引发的后果,首先,来说一下同一功能的代码在多个程序中被编写多次的后果:
1  它破坏了面向对象的“单一职责”的原则
2  当代码逻辑复杂时,或者进行二次开发时,程序员将对方法调用产生歧义,即不知道应该使用哪个方法,即代码可读性差
3  当这个不规范的方法逻辑需要修改时,你将会进行多次重复的调整,这是一个程序不希望做的事
解决方法:
当几个模块需要用到同一功能,或者功能相似的方法时,应该先将公用的功能抽象成一个新的方法,再把不同的地方抽象成其它方法,这也就是《重构》中的extract method 。
下面看一下代码:
不规范的:
<div class="cnblogs_code" >View Code <div id="cnblogs_code_open_3f7a9696-7f61-4341-94f7-935504a9802e" class="cnblogs_code_hide"> 1 public bool RegisterUser(Userbase entity) 2         { 3             bool flag = false; 4             try 5             { 6                 //注册用户逻辑 7  8                //添加日志逻辑 9             }10             catch (Exception)11             {12 13                 throw;14             }15             return flag;16         }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表