重构之引入本地扩展(Introduce Local Extension)
封装类大家都熟悉,在使用封装类时,常常会遇到一些要用的函数没有,又无法修改源码;如果只是一两个函数,我们还可以使用“引入外加函数(Introduce Foreign Method)”进行重构处理。但超过两个以上呢?外加函数就行难控制了,所以我们需要把这些函数组织起来,放到一个恰当的地方,而这一过程我们就可以叫做“引入本地扩展(Introduce Local Extension)”。引入本地扩展(Introduce Local Extension)具有两种实现方式——子类化和包装,我们分别来看看这两种实现方式是怎样的
子类化
一看到子类,相信懂继承的都会想到类的继承;没错子类化就是新建一个类继承封装的类,这样做的好处显而易见,我们可以随心所欲的把外加函数都搬移过来。
包装
新建一个类,在类中实现带参构造函数把封装的类对象传入;然后我们就可以在包装类里面进行类函数的扩展及搬移外加函数。
(今天没有示例代码,有兴趣的可以去找找本书看看)
参考文献
重构——改善既有代码的设计 【美】Martin Fowler 著
熊节 译
越来越不知道自己写的是什么{:3_55:}{:3_55:}{:3_55:}
页:
[1]