Lose.zhang 发表于 2012-12-10 15:51:46

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

<div id="cnblogs_post_body">从标题中可以看到本篇文章将介绍代码随意性的缺点及由此引发的后果,首先,来说一下同一功能的代码在多个程序中被编写多次的后果:
1  它破坏了面向对象的“单一职责”的原则
2  当代码逻辑复杂时,或者进行二次开发时,程序员将对方法调用产生歧义,即不知道应该使用哪个方法,即代码可读性差
3  当这个不规范的方法逻辑需要修改时,你将会进行多次重复的调整,这是一个程序不希望做的事
解决方法:
当几个模块需要用到同一功能,或者功能相似的方法时,应该先将公用的功能抽象成一个新的方法,再把不同的地方抽象成其它方法,这也就是《重构》中的extract method 。
下面看一下代码:
不规范的:
<div class="cnblogs_code" >http://images.cnblogs.com/OutliningIndicators/ContractedBlock.gifhttp://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gifView 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               //注册用户逻辑 78                //添加日志逻辑 9             }10             catch (Exception)11             {12 13               throw;14             }15             return flag;16         }
页: [1]
查看完整版本: 架构,改善程序复用性的设计~第三讲 实现一种功能的代码只能出现在一处