“变更原因”是什么意思?
“改变的原因”是指需要修改类或模块的情况或动机。
例如,如果不同的原因影响一个类,例如 UI 更改和业务逻辑更改,则意味着存在多个“更改原因”。
单一变革原因的好处
通过集中精力于改变的单一原因,您的代码将更加干净、清晰。
这减少了错误的发生并最大限度地减少了变化的影响范围。
隔离变更的原因并减少依赖性
隔离变更的原因可以减少模块之间的依赖性。
这消除了类过度依赖其他类的问题并增加了设计灵活性。
现场发生变化的多种原因及应对方法
在实际开发中,一个类往往具有多项职责。
为了解决这个问题,您需要将您的类划分为更小的类,并设计每个类以使其具有明确的角色。
实现变革原因统一的具体方法
为了统一变更的原因,首先要明确定义职责,然后相应地重组您的类和模块。
此外,接口和抽象类允许您有效地分离更改的原因。
例如,将 UI 逻辑和业务逻辑分成不同的类是一个好主意。
一个具体的设计示例来说明单一职责原则
为了充分理解单一责任原则 (SRP),查看现实世界的设计示例非常重要。
作为一个具体的例子,让我们考虑一个类同时处理“报告生成”和“报告呈现”的情况。
在这种设计中,业务逻辑(数据计算和聚合)和表示逻辑(在 UI 中的显示方式)包含在同一个类中。
在这种情况下,对其中一个的任何更改都会影响另一个,从而降低代码的可维护性。
当应用 SRP 时,这些职责是分开的。
例如,设计一个负责生成 巴哈马电报数据 报告的类和另一个负责呈现生成的报告的类。
这允许更高的可维护性和灵活性,因为可以在不影响业务逻辑的情况下更改表示逻辑。
下面给出一些具体的设计实例。
分离报告生成和呈现过程可以让每个类专注于特定的职责。
例如,名为“ReportGenerator”的类生成报告数据,而名为“ReportRenderer”的类呈现该数据。
这样的设计保证了渲染格式的改变不会影响数据生成逻辑。
员工数据管理和处理分离的实施示例
处理员工数据时,检索和处理单个类中的数据变得复杂。
通过将数据检索分离到“EmployeeRepository”并将处理分离到“EmployeeProcessor”,每个类共享责任并最大限度地减少更改的影响。
应用单一职责原则的重构示例