码迷,mamicode.com
首页 > 其他好文 > 详细

重构:简化函数调用

时间:2017-03-28 00:03:26      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:strong   引入   完全   简单   取出   创建   工厂   分离   错误   

1、将查询函数和修改函数分离

  情景:某个函数既返回对象状态值,又修改对象状态

    任何有返回值的函数,都不应该有看得到的副作用

2、以明确函数取代参数

  情景:你有一个函数,其中完全取决于参数值采取不同的行为

  方案:针对该参数的每一个可能值,建立一个独立函数;

3、保持完整对象

  情景:从某个对象中取出若干值,作为某一次函数调用时的参数

  方案:改为传递整个对象

4、以函数取代参数

  情景:对象调用某个函数,并将所得结果作为参数,传递给另一个参数。而接受该参数的函数本身也能调用前一个函数

  方案:让参数接受者去除该项参数,并直接调用前一个函数

5、引入参数对象

  情景:某些参数总是很自然地同时出现

  方案:以一个对象取代这些参数

6、以工厂函数取代构造函数:

  情景:希望在创建对象时不仅仅是做简单的建构动作

7、封装向下转型

  情景:某个函数返回的对象,需要由函数调用者执行向下转型(downcast)

  方案:将向下转型动作移到函数中

8、以异常取代错误码

  情景:某个函数返回一个特定的代码,用以表示某种错误情况

  方案:改用异常

重构:简化函数调用

标签:strong   引入   完全   简单   取出   创建   工厂   分离   错误   

原文地址:http://www.cnblogs.com/hellocyc/p/6629451.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!