裁员潮下再读 SOLID原则!

你好,我是猿java。

我们用了 5篇文章分别讲解了 SOLID 的 5个原则以及使用,SOLID是 Robert C. Martin(也称为Uncle Bob)提出或者总结出来的经典之作,它可以适用于各种编程语言,通常会用来衡量一个模块,系统设计的是否合理。本文,我们将对 SOLID做一个系统性的总结。

SOLID是什么?

在 架构整洁之道 这本经典的书籍中有一套关于软件设计的SOLID 原则,SOLID 实际上是五个设计原则首字母的缩写,它们分别是:

  • 单一职责原则(Single responsibility principle, SRP)
  • 开放封闭原则(Open--closed principle, OCP)
  • Liskov 替换原则(Liskov substitution principle, LSP)
  • 接口隔离原则(Interface segregation principle, ISP)
  • 依赖倒置原则(Dependency inversion principle, DIP)

总结

  • 单一职责原则:任何一个软件模块都应该只对某一类行为者负责
  • 开放封闭原则:软件实体应该对扩展开放,对修改关闭
  • Liskov替换原则:子类型必须能够替换其父类型
  • 接口隔离原则:不应强迫客户依赖他们不使用的接口
  • 依赖倒置原则:高层模块不应该依赖低层模块;抽象不应该依赖于细节

SOLID原则是编程规范的一个里程碑之作,如果在日常的设计、编码和重构时能多参考这些原则,至少可以保证自己的代码不会太差,如果要写出优雅的代码,建议可以阅读一些优秀的开源框架,比如 Spring。

个人感悟

经济下行,互联网环境越来越糟糕,每个公司面试的要求越来越苛刻,八股文可以背,算法可以刷,个人认为今后拉开差距的一定是基本功,因为基本功是刻在骨子里的硬通货,比如,网络通信,计算机原理,编译原理,设计思维,如果能够在这些方面多花点功夫,多深入的理解一些,对于不同语言(java,golang,python,c等)和框架其实只是一种工具而已。

最近面试过很多阿里出来的P7,给我感触最深的一点是:他们当中很多都是 985名校,从毕业就进入了阿里,然后在一块很小的业务上拧同一种型号的螺丝太久,以至于他们明面是 P7,实际上技术深度和宽度远不足P6。

或许是这个环境造就的这种悲哀,也或许是他们一直在聚光灯下,顶着高薪的光环迷失了自我,以至于在这裁员的大潮中,他们被脱去光鲜的外衣,然后和市面上的岗位格格不入,高不成低不就。所以,建议同行的小伙伴,在日常的积累中一定要把基本功打扎实,切勿本末倒置。

在学历越来越不值钱的时代,真功夫才是你"卷"的实力。

学习交流

文章总结不易,感谢帮忙点赞,收藏,或者关注公众号:猿java,持续为你呈现更多干货!

原创好文

相关推荐
临期冰淇淋2 分钟前
MTK平台 安卓16 GMS报错修改
android·java·前端
人道领域2 分钟前
【面试八股速通篇01】锁与并发工具
java·开发语言·面试·c#
Wang's Blog3 分钟前
Java 项目实战: 交友项目 - Dubbo 入门案例全流程复盘
java·dubbo·交友
Profile排查笔记15 分钟前
浏览器多开怎么设置独立 IP?Profile、代理与核验流程
前端·人工智能·后端·自动化
小七在进步27 分钟前
初识C++中的模板
java·开发语言·c++
tianbin91127 分钟前
中小团队大模型训练落地实战:如何借助API网关降低工程负担
网络·后端
Wang's Blog28 分钟前
Java 项目实战: 交友项目 - SpringCloud 整合 Dubbo 的需求分析与模块规划
java·spring cloud·交友
打工仔折腾 AI31 分钟前
CentOS 7 单机部署 Elasticsearch 7.17.29:启动报错排查与 CRUD 验证
人工智能·后端·python·elasticsearch·性能优化·centos·jenkins
哦虎!40 分钟前
【JavaEE】文件操作IO
java
博风40 分钟前
7、设计模式应用举例:策略模式:加密、解密文件
设计模式·策略模式