一分钟搞懂 SOLID 原则

简介: 一分钟搞懂 SOLID 原则

SOLID 原则是面向对象设计的一个基本原则,通过这篇短文我们可以很快了解 SOLID 原则的核心思想。原文:SOLID Principles — Concise and brief explanation[1]


大家好,今天,我尝试用最简单的方式告诉大家,什么是 SOLID 原则。


SOLID 的意思是:


image.png


1. 单一职责原则(Single responsibility principle)


  • 每个类应该只有一个变更的理由。
  • 将不相关的功能解耦,并将它们隔离到独立的类中。
  • 可读性、可重用性和可维护性。


2. 开闭原则(Open-closed principle)


  • 在有可能需要变更的代码前面引入抽象。
  • 只在需求合理可预测的情况下使用。
  • 将代码与需求变更隔离开来。


3. 里氏替换原则(Liskov substitution principle)


  • 在继承层次结构中定义适当的子类型非常重要
  • 七大规则
  1. 确定的参数(Contravariance of arguments)
  2. 确定的结果(Contravariance of result)
  3. 前置条件(Pre Conditions)
  4. 后置条件(Post Conditions)
  5. 例外规则(Exception rule)
  6. 内变规则(In-variant rule)
  7. 限制规则(Constraint rule)
  • 对于将被其他人复用的代码尤其重要。
  • 可以安全的使用子类。


4. 接口分离原则(Interface segregation principle)


  • 客户端应该只依赖于实际使用的功能。
  • 最小知识和最小耦合原则。
  • 健壮的设计,防止设计错误,更好的可读性。


5. 依赖反转原则(Dependency inversion principle)


  • 管理抽象的使用。
  • 通过抽象反转源代码的依赖关系。
  • 防止变更出错,提高可重用性,减少对外部模块的依赖。


References:

[1] https://medium.com/front-end-weekly/solid-principles-concise-and-brief-explanation-96790dc63b63


目录
相关文章
|
1月前
|
设计模式 前端开发 关系型数据库
SOLID设计原则和我的一点个人感悟
SOLID设计原则和我的一点个人感悟
36 0
|
8月前
|
敏捷开发 存储 关系型数据库
码农也要有原则 : SOLID via C#
让姑姑不再划拳 码农也要有原则 : SOLID via C#
46 0
 码农也要有原则 : SOLID via C#
|
8月前
|
架构师 关系型数据库 程序员
空手撸SOLID架构设计原则,六大原则层层解析,你绝想不到
设计原则概述 通常来说,要想构建—个好的软件系统,应该从写整洁的代码开始做起。毕竟,如果建筑所使用的砖头质量不佳,那么架构所能起到的作用也会很有限。反之亦然,如果建筑的架构设计不佳,那么其所用的砖头质量再好也没有用。这就是SOLID设计原则所要解决的问题。
49 0
SOLID原则之里氏替换原则
SOLID原则之里氏替换原则
|
设计模式 Java 关系型数据库
【Java设计模式 经典设计原则】五 SOLID-DIP依赖反转原则
【Java设计模式 经典设计原则】五 SOLID-DIP依赖反转原则
89 0
|
设计模式 搜索推荐 安全
【Java设计模式 经典设计原则】三 SOLID-LSP里式替换原则
【Java设计模式 经典设计原则】三 SOLID-LSP里式替换原则
111 0
|
设计模式 消息中间件 存储
软件设计 软件设计模式之SOLID原则
软件设计 软件设计模式之SOLID原则
80 0
|
前端开发
如何应用 SOLID 原则在 React 中整理代码之开闭原则
SOLID 是一套原则。它们主要是关心代码质量和可维护性的软件专业人员的指导方针。
141 0
如何应用 SOLID 原则在 React 中整理代码之开闭原则
|
前端开发 API 数据处理
如何应用 SOLID 原则整理 React 代码之单一原则
SOLID 原则的主要是作为关心自己工作的软件专业人员的指导方针,那些以经得起时间考验的设计精美的代码库为荣的人。
110 0
如何应用 SOLID 原则整理 React 代码之单一原则
SOLID 原则:权威指南
本文讲的是SOLID 原则:权威指南,SOLID 是五个面向对象编程的重要原则的缩写。另外,它也是每个开发者必备的基本知识。了解并应用这些原则能让你写出更优质的代码,变成更优秀的开发者。
9087 1