SOLID设计原则笔记

it2022-05-05  157

如何写出高质量的代码,是大家一直都在被拷问的难题。通常,软件开发的最佳实践都提倡“高内聚、低耦合”。比如,在软件的设计和开发过程中,应尽量做到,软件各实体(如模块、类、函数等)的责任有清晰地定义和划分,并尽量避免软件实体之间的耦合,从而降低代码的复杂度。

什么是SOLID?

SOLID是一系列软件设计、开发的原则,是设计、开发出高质量软件的手段。这些原则能帮助我们设计出“高内聚、低耦合”的软件。遵循这些原则,我们能在代码的开发与审查阶段有效地发现代码中的臭味。

SOLID是最常用的五个面向对象设计原则的英文名称的首字母:

[S]ingle Responsibility Principle(单一职责)[O]pen/Closed Principle(开闭原则)[L]iskov Substitution Principle(里氏替换)[I]nterface Segregation Principle(接口隔离)[D]ependency Inversion Principle(依赖倒置)

简单解释如下:

SRP:单一职责

就一个类而言,有且仅有一个引起它变化的原因。

OCP:开闭原则

软件实体(模块、类等)对扩展是开放的,对修改是关闭的。

对于一个类来说,如果要扩展其功能,应尽量使用添加新代码的方式,而不是修改旧代码。

LSP:里氏替换

在使用父类的地方,子类能替换父类。

DIP:依赖倒置

实现依赖于抽象,而不是抽象依赖于实现。

ISP:接口隔离

不强迫用户依赖不需要的接口。

(接口属于用户,不属于接口提供者。为了更形象的理解,API应被称为Application Programmer Interface,而不是Application Programming Interface.)


最新回复(0)