摘要:
我们希望在系统或者软件需要修改或者增加新功能时,只需要定位到系统的某一点,更改的地方单一,而不出现多处修改。因为更改的地方越多,容易出的问题越多,则代码的坏味道也越严重。我们应该寻找因某特定原因而造成的所有变化,然后运用Extract Class(提炼类)将它们提炼到另一个类中。 阅读全文
摘要:
向已有对象发送一条请求就可以获取原本位于参数列的一份数据时,运用Replace Parameter with Method(以函数取代参数)重构准则。运用Preserve Whole Object(保存对象完整)收集来自同一对象的一堆数据,并以该对象替换它们。对于缺乏合理对象归属的数据,可使用Introduce Parameter Object(引入参数对象)为它们制造一个参数对象。例外:如果明显... 阅读全文
摘要:
选择class内彼此相关的变量,运用Extract Class(提炼类)将它们一起提炼到新的class内。如果它适合作为一个子类,则使用Extract Subclass(提炼子类)比较适合。确定客户端如何使用代码,运用Extract Interface(提炼接口)为每一种使用方式提炼一个接口。将GUI类的数据和行为移至独立的领域对象,对于两边同时保留的重复数据,运用Duplicate Observ... 阅读全文