请选择 进入手机版 | 继续访问电脑版

马上加入IBC程序猿 各种源码随意下,各种教程随便看! 注册 每日签到 加入编程讨论群

C#教程 ASP.NET教程 C#视频教程程序源码享受不尽 C#技术求助 ASP.NET技术求助

【源码下载】 社群合作 申请版主 程序开发 【远程协助】 每天乐一乐 每日签到 【承接外包项目】 面试-葵花宝典下载

官方一群:

官方二群:

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

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

重构后
[C#] 纯文本查看 复制代码
Date newStart = nextDay(previousEnd);

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


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

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

*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则