惰性类
概述
惰性类是可舍弃类代码异味的一种,指一个类做的事情不足以支撑其存在,提供的功能很少或没有提供增值,属于过度设计的产物。
关键内容
- 特征识别:
- 类做的事情不足以支撑它的存在
- 只是一个没有增值的包装器
- 过度设计的产物
-
功能过于简单,可以用更直接的方式实现
-
负面影响:
- 增加维护开销
- 增加了不必要的间接层
- 提高了系统的复杂度
- 增加了理解和导航代码的难度
-
代码库膨胀
-
常见场景:
- 只包含少量字段和方法的类
- 只是对其他类的简单包装
-
在设计阶段预设但实际使用很少的类
-
重构策略:
- Inline Class:将类的功能内联到使用它的类中
-
Collapse Hierarchy:合并层级关系
-
判断标准:
- 评估类的职责和功能是否值得独立存在
- 考虑是否可以将其功能合并到现有类中
- 遵循KISS原则(Keep It Simple, Stupid)
来源
- Martin Fowler — 《重构:改善既有代码的设计》
- 代码异味 — 重构指导书