java架构师指南 SOLID 面向对象设计原则

如果一项技术已经存在了两年,例如目前流行的前端技术会反应并不断变化等等,那么我可以估计这个技术大致还有 2 年的生命期,并且不确定它是否更长。 如果一个框架或设计原则已经存在15年,例如单一责任和依赖倒置原则,那么我可以预期它的生存期为15年或更长。 原则是比特定技术更抽象的事物,更接近事物的本质,并且能够经受时间的考验。 这些原则被存储在Java架构师的思想中,并最终被内化到他的思想体系中,从而潜意识地影响并指导了他的框架和设计工作。

java架构师问答社区

我在软件研发行业工作了十多年。 我花了大部分时间进行框架设计和开发,现在我正在转型为研发管理。 随着时间的流逝,许多技术和战术细节(工具,框架,编程语言)在我心中逐渐模糊,但是在实践中已经积累并加深了一些软件框架设计和组织原理,这些有原则的事情已经 根本没有被时间稀释,但是变得更加清新。 现在,即使我不是在第一线发展,这些固定的原则仍会微妙地影响我的日常管理和框架设计指导工作的一部分。 我认为有必要总结那些使我印象深刻并与您分享的著名软件框架设计和组织原则。

S.O.L.I.D 是面向对象设计和编程 (OOD&OOP) 中几个重要原则的首字母缩写,受 Robert Martin 推崇。

1. 单一职责原则

修改某个类的理由应该只有一个,如果超过一个,说明类承担不止一个职责,要视情况拆分。

2. 开放封闭原则

软件实体应该对扩展开放,对修改封闭。一般不要直接修改类库源码(即使你有源代码),通过继承等方式扩展。

3. 里氏替代原则

当一个子类的实例能够被替换成任何超类的实例时,它们之间才是真正的 is-a 关系。

4. 依赖倒置原则

高层模块不应该依赖于底层模块,二者都应该依赖于抽象。换句话说,依赖于抽象,不要依赖于具体实现。比方说,你不会把电器电源线焊死在室内电源接口处,而是用标准的插头插在标准的插座 (抽象) 上。

5. 接口分离原则

不要强迫用户去依赖它们不使用的接口。换句话说,使用多个专门的接口比使用单一的大而全接口要好。

推荐阅读:java架构师指南之什么是架构和架构本质

猜你喜欢

转载自blog.csdn.net/weixin_49698883/article/details/108339048