——关于重构方式的设想
我们重构部分代码时,往往想到的是稳定,最好是不变接口,只变实现,保持接口的稳定性。但现实往往没有这么轻松,接口不变,意味着有着一个良好的结构设计,至少在功能职责划分上没有大的问题。而我们却时常遭遇这种职责的混乱,这种Martin Fowler不愿详谈的事情,对我们来说很麻烦。我们不能横切式的改变,这将导致大规模的变化,特别是对于层次靠下的部分,范围的扩大,无论是从控制能力上,还是工作量上,包括对系统稳定性的影响方面都是巨大的,兼容旧组件也许并不亚于推倒重来。
“剥”也许是个好办法,另辟蹊径绕开原来的设计,从底向上建立一条新的结构通路,将旧的部分一片一片的剥开,合并到新的部分中来,直到完成重构。就像做一个心脏搭桥手术。