剑弑 发表于 2019-3-19 23:20:21

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

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

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

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

剑弑 发表于 2019-3-19 23:21:50

越来越不知道自己写的是什么{:3_55:}{:3_55:}{:3_55:}
页: [1]
查看完整版本: 重构之引入本地扩展(Introduce Local Extension)