单一职责原则

主要观点:介绍单一职责原则(SRP),强调其是良好设计的基础,包括其定义、原因、需要有单一职责的对象、识别违反 SRP 的方法、使设计符合 SRP 的方式以及结论和注意事项。
关键信息:

  • 由 Robert C. Martin 提出,是面向对象编程的原则之一,即每个类应只有一个职责且完全封装该职责。
  • 原因包括便于组织代码、减少脆弱性、降低耦合、便于代码修改、提高可维护性、增强可测试性和更容易调试。
  • 需要有单一职责的对象包括系统的方法、类、包和模块。
  • 识别违反 SRP 的方法有类有太多依赖、方法有太多参数、测试类太复杂、类/方法过长、命名不恰当、内聚性低、一处更改影响多处、霰弹效应、无法封装模块等。
  • 使设计符合 SRP 的方式有提高意识、编写可测试代码、采用测试驱动开发(TDD)、查看代码覆盖率指标、进行重构和使用设计模式、明确系统模块化等。
    重要细节:
  • 以汽车修理工的工具抽屉为例说明小模块更易组织。
  • 提及相关的维基百科链接和 Robert C. Martin 的 PDF 论文链接。
  • 给出类不应超过 200 - 250 行代码(包括导入)的经验法则。
  • 强调在应用实践时需保持常识,避免过度复杂。
阅读 8
0 条评论