剑弑 发表于 2019-3-18 23:20:14

重构之引入外加函数(Introduce Foreign Method)

      重构之引入外加函数(Introduce Foreign Method),在开始写之前,坐在电脑前看着书想了十几分钟;硬是不点头绪都没有,完全无从下手。因为我发现我自己都不能完全理解这个种重构手法,我把书上的大概思路写出来,很希望大家可以留言讨论。。。。。
   书上是这样写的,类大家都不陌生,甚至还进行过类的封装,也使用过别人封装的类;相信大家在使用封装好的类时,或多或少都会遇到要使用某个函数,封装类里面即然没有这个函数;如果用的少我们或许还可以在客户端进行补足,但当我们要多次使用这个函数时,就得不断重复这些代码。在这种情况下,就该使用引入外加函数(Introduce Foreign Method)这一种重构手法。代码如下
重构前
Date newStart = new Date(previousEnd.getYear(), previousEnd.getMonth(), previousEnd.getDate()+1);
重构后
Date newStart = nextDay(previousEnd);

private static Date nextDay(Date arg)
      {
            return new Date(arg.getYear(), arg.getMonth(), arg.getDate() + 1);
      }

书中给出的代码就这样。。。。

参考文献
重构——改善既有代码的设计   【美】Martin Fowler 著
                                                                         熊节 译

页: [1]
查看完整版本: 重构之引入外加函数(Introduce Foreign Method)