wangguangwu
wangguangwu
发布于 2024-08-21 / 24 阅读
0
0

SOLID 原则

SOLID 是软件设计中的五个核心原则的简称,旨在让软件设计更易于理解、更具灵活性和可维护性。

ps:理解原则,但不必盲目遵守。

1. 单一职责原则(Single Responsibility Principle)

简述: 每个类应该只有一个职责,即类应该只负责一件事情。

目的:

  • 简化设计:减少类的复杂度,使其更易于理解和维护。
  • 降低错误风险:通过减少类的职责,降低在修改或扩展代码时引入错误的可能性。

2. 开闭原则(Open/Closed Principle)

简述: 软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。

目的:

  • 提高系统扩展性:通过允许对现有类进行扩展,而无需修改已有代码,实现功能的无缝添加。
  • 降低维护成本:减少修改现有代码的需要,从而降低引入错误的风险,提高系统的稳定性。

3. 里式替换原则(Liskov Substitution Principle)

简述: 子类应能够替代父类并正常工作,即程序中的对象应该是可替换的,而不影响程序的正确性。

目的:

  • 确保继承的正确性:确保子类在替代父类时不会引入错误,保证系统的正确性和健壮性。
  • 增强系统的灵活性:使得代码更具可替换性,便于系统的扩展和维护。

4. 接口隔离原则(Interface Segregation Principle)

简述: 类不应该被强迫依赖它不使用的方法,即应将大接口拆分为更小、更具体的接口,使得每个接口只包含客户端实际需要的方法。

目的:

  • 减少类之间的耦合度:通过提供更小、更具体的接口,避免类被迫实现不必要的方法。
  • 增强系统的灵活性和可维护性:如果接口更小、更具体,当需求变化时,调整一个接口的实现不会影响到不相关的代码部分。
  • 避免“胖接口”问题:确保接口更精确地反映实现类的实际需求,从而使代码更具可扩展性和可维护性。

5. 依赖倒置原则(Dependency Inversion Principle)

简述: 高层模块不应该依赖于低层模块,二者都应该依赖于抽象。抽象不应该依赖细节,细节应该依赖抽象。

目的:

  • 提高模块独立性:减少高层模块对低层模块的依赖,使得模块间更加独立,易于修改和替换。
  • 增强系统扩展性:通过依赖抽象,允许细节实现的变化,而无需修改高层模块,从而提高系统的可扩展性。
  • 简化维护和测试:模块间的低耦合性使得系统更易于测试和维护,提升了系统的整体质量。

评论