写点什么

一分钟搞懂 SOLID 原则

用户头像
俞凡
关注
发布于: 刚刚

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


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


SOLID 的意思是:

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


你好,我是俞凡,在 Motorola 做过研发,现在在 Mavenir 做技术总监,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI 等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。微信公众号:DeepNoMind

用户头像

俞凡

关注

还未添加个人签名 2017.10.18 加入

俞凡,Mavenir Systems研发总监,关注高可用架构、高性能服务、5G、人工智能、区块链、DevOps、Agile等。公众号:DeepNoMind

评论

发布
暂无评论
一分钟搞懂SOLID原则