主要观点:介绍单一职责原则(SRP),强调其是良好设计的基础,包括其定义、原因、需要有单一职责的对象、识别违反 SRP 的方法、使设计符合 SRP 的方式以及结论和注意事项。
关键信息:
- 由 Robert C. Martin 提出,是面向对象编程的原则之一,即每个类应只有一个职责且完全封装该职责。
- 原因包括便于组织代码、减少脆弱性、降低耦合、便于代码修改、提高可维护性、增强可测试性和更容易调试。
- 需要有单一职责的对象包括系统的方法、类、包和模块。
- 识别违反 SRP 的方法有类有太多依赖、方法有太多参数、测试类太复杂、类/方法过长、命名不恰当、内聚性低、一处更改影响多处、霰弹效应、无法封装模块等。
- 使设计符合 SRP 的方式有提高意识、编写可测试代码、采用测试驱动开发(TDD)、查看代码覆盖率指标、进行重构和使用设计模式、明确系统模块化等。
重要细节: - 以汽车修理工的工具抽屉为例说明小模块更易组织。
- 提及相关的维基百科链接和 Robert C. Martin 的 PDF 论文链接。
- 给出类不应超过 200 - 250 行代码(包括导入)的经验法则。
- 强调在应用实践时需保持常识,避免过度复杂。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。