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

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

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

官方一群:

官方二群:

重构之引入本地扩展(Introduce Local Extension)

[复制链接]
查看3143 | 回复3 | 2019-3-19 23:20:21 | 显示全部楼层 |阅读模式
       封装类大家都熟悉,在使用封装类时,常常会遇到一些要用的函数没有,又无法修改源码;如果只是一两个函数,我们还可以使用“引入外加函数(Introduce Foreign Method)”进行重构处理。但超过两个以上呢?外加函数就行难控制了,所以我们需要把这些函数组织起来,放到一个恰当的地方,而这一过程我们就可以叫做“引入本地扩展(Introduce Local Extension)”。
      引入本地扩展(Introduce Local Extension)具有两种实现方式——子类化和包装,我们分别来看看这两种实现方式是怎样的
       子类化
       一看到子类,相信懂继承的都会想到类的继承;没错子类化就是新建一个类继承封装的类,这样做的好处显而易见,我们可以随心所欲的把外加函数都搬移过来。
      包装
      新建一个类,在类中实现带参构造函数把封装的类对象传入;然后我们就可以在包装类里面进行类函数的扩展及搬移外加函数。

(今天没有示例代码,有兴趣的可以去找找本书看看)

参考文献
重构——改善既有代码的设计   【美】Martin Fowler 著
                                                                         熊节 译
剑弑 | 2019-3-19 23:21:50 | 显示全部楼层
越来越不知道自己写的是什么
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则