Derick
510 words
3 minutes
SOLID设计原则

SOLID 原则是**面向对象编程(OOP)**的关键. 但每项原则的实际含义是什么?它们为何如此重要?

SOLID代表**面向对象编程(OOP)**的五个原则。无论你是否使用OOP,知道这些原则都能让你深入了解干净代码的基础,这些代码可以应用于许多编程领域。

  • 𝗦 — 单一职责原则
  • 𝗢 — 对扩展开放,对修改关闭原则
  • 𝗟 — 里氏替换原则
  • 𝗜 — 接口隔离原则
  • 𝗗 — 依赖倒置原则

下面分析每个原则 ↓

𝟭. 𝗦𝗶𝗻𝗴𝗹𝗲 𝗥𝗲𝘀𝗽𝗼𝗻𝘀𝗶𝗯𝗶𝗹𝗶𝘁𝘆 𝗣𝗿𝗶𝗻𝗰𝗶𝗽𝗹𝗲 (𝗦𝗥𝗣)

每个代码单元应该只有一个工作或职责。单元可以是类、模块、函数或组件。这使代码保持模块化,并消除了紧密耦合的风险。

𝟮. 𝗢𝗽𝗲𝗻-𝗖𝗹𝗼𝘀𝗲𝗱 𝗣𝗿𝗶𝗻𝗰𝗶𝗽𝗹𝗲 (𝗢𝗖𝗣)

代码单元应该对扩展开放,但对修改关闭。您应该能够使用附加代码扩展功能,而不是修改现有代码。这个原则可以应用于基于组件的系统,比如React前端。

𝟯. 𝗟𝗶𝘀𝗸𝗼𝘃 𝗦𝘂𝗯𝘀𝘁𝗶𝘁𝘂𝘁𝗶𝗼𝗻 𝗣𝗿𝗶𝗻𝗰𝗶𝗽𝗹𝗲 (𝗟𝗦𝗣)

你应该能够用子类的基类替换它。换句话说,基类中的所有功能都应该被它的所有子类利用。如果不能,它就不应该在基类中。

Bird基类就是一个例子。您可能会认为它应该有一个fly方法。但是那些不会飞的鸟呢?像企鹅一样。 在本例中,fly不应该在基类中,因为它并不适用于所有子类。

𝟰. 𝗜𝗻𝘁𝗲𝗿𝗳𝗮𝗰𝗲 𝗦𝗲𝗴𝗿𝗲𝗴𝗮𝘁𝗶𝗼𝗻 𝗣𝗿𝗶𝗻𝗰𝗶𝗽𝗹𝗲 (𝗜𝗦𝗣)

提供具有特定职责的多个接口,而不是一小组通用接口。客户端不需要知道与他们的用例无关的方法和属性。

复杂性↓ 代码灵活性↑

𝟱. 𝗗𝗲𝗽𝗲𝗻𝗱𝗲𝗻𝗰𝘆 𝗜𝗻𝘃𝗲𝗿𝘀𝗶𝗼𝗻 𝗣𝗿𝗶𝗻𝗰𝗶𝗽𝗹𝗲 (𝗗𝗜𝗣)

你应该依赖抽象类,而不是具体类。使用抽象来解耦系统不同部分之间的依赖关系。代码单元之间不应该直接调用,而应该使用接口或抽象


Untitled.png

SOLID设计原则
https://blog.ithuo.net/posts/solid-design-principles/
Author
Derick
Published at
2019-11-12