), Substitute Algorithm(替换算法), Extract Class(提炼类);
-- Extract Method(提炼函数) : 将重复的代码放到一个函数中, 并让函数名称清晰的解释函数的用途...将相关的函数 和 字段 从旧类搬移到新类;
重复代码坏处 : 重复的代码结构使程序变得冗长, 这个肯定要优化, 不解释;
同类函数重复代码 : 同一个类中 两个函数 使用了相同的表达式;
-- 解决方案...提炼类) 方法, 将重复的代码提炼到一个重复类中去, 然后在两个类中 使用这个提炼后的新类;
-- 提炼类存在方式 : 将提炼后的代码放到两个类中的一个, 另一个调用这个类, 如果放到第三个类, 两个类需要同时引用这个类...Code(重复代码) 与 Large Class(过大的类)是一起产生的;
-- 选择相关变量 : 选择类中相关的变量提炼到一个新类中, 一般前缀, 后缀相同的变量相关性较强, 可以将这些相关性较强的变量提炼到一个类中...没有合适类存放代码, 创建一个类, 使用 Inline Class(内联化类) 方法将一系列的行为放在同一个类中;
-- 造成分散式变化 : 上面的两种操作会造成 Divergent Change, 使用