在复杂的软件系统中如何逐渐替换掉(或重写)一个被广泛使用的功能模块?在该功能模块前引入另一层抽象,所有调用该功能模块的代码都改成调用这层抽象,然后逐步重写该功能模块。写出上面这些中文连我自己都看不懂,还是看英文原文比较清楚点:)