裁员潮下再读 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,持续为你呈现更多干货!

原创好文

相关推荐
韩师学子--小倪1 天前
fastjson与gson的toString差异
java·json
Drawing stars1 天前
JAVA后端 前端 大模型应用 学习路线
java·前端·学习
nbsaas-boot1 天前
SQL Server 存储过程开发规范(公司内部模板)
java·服务器·数据库
行百里er1 天前
用 ThreadLocal + Deque 打造一个“线程专属的调用栈” —— Spring Insight 的上下文管理术
java·后端·架构
玄〤1 天前
黑马点评中 VoucherOrderServiceImpl 实现类中的一人一单实现解析(单机部署)
java·数据库·redis·笔记·后端·mybatis·springboot
J_liaty1 天前
Spring Boot拦截器与过滤器深度解析
java·spring boot·后端·interceptor·filter
短剑重铸之日1 天前
《7天学会Redis》Day2 - 深入Redis数据结构与底层实现
数据结构·数据库·redis·后端
码事漫谈1 天前
从C++到C#的转型完全指南
后端
码事漫谈1 天前
TCP心跳机制:看不见的“生命线”
后端
亲爱的非洲野猪1 天前
Java锁机制八股文
java·开发语言