少有人走的路

勇哥的工业自动化技术网站

用一句话白话一下7大设计原则

在面向对象编程中,SOLID 是五个设计原则的首字母缩写,旨在使软件设计更易于理解、灵活和可维护。

这些原则是由美国软件工程师和讲师罗伯特·C·马丁(Robert Cecil Martin)提出的许多原则的子集,

在他2000年的论文《设计原则与设计模式》中首次提出。

SOLID 原则包含:

  • S:单一职责原则(single-responsibility principle)

  • 一个类或者模块只负责完成一个职责(或者功能),

  • 避免一个类负责多个功能领域,提高类的可读性、可维护性、可扩展性。


  • O:开闭原则(open-closed principle)

  • 软件实体应当对扩展开放,对修改关闭。即在设计一个模块的时候,应当使这个模块可以在不被修改的前提下被扩展。



  • L:里氏替换原则(Liskov substitution principle)

  • 继承必须确保父类所拥有的性质在子类中仍然成立。


  • I:接口隔离原则(Interface segregation principle)

  • 使用多个专门的接口,而不使用单一的总接口,客户端不应该依赖它不需要的接口。


  • D:依赖倒置原则(Dependency inversion principle)

  • 高层模块不应依赖于低层模块,两者应该依赖于抽象。

  • 抽象不不应该依赖于实现,实现应该依赖于抽象。

  • 要依赖于抽象,不要依赖于具体。实现类之间的依赖通过抽象(接口或抽象类)进行,避免类之间的高耦合。


后来业界又扩展出两条原则:

  1. 迪米特法则(Law of Demeter,LoD)或最少知道原则(Least Knowledge Principle,LKP):一个对象应当对其他对象保持最少的了解,降低类之间的耦合度。

  2. 合成复用原则(Composite Reuse Principle,CRP):尽量使用对象组合/聚合,而不是继承关系达到软件复用的目的。





下面是勇哥对7大原则的白话,如有不妥之处请指正:



单一职责原则

为啥电脑的键盘鼠标显示器不合并成一根线?那样鼠标坏了,整条线都要换


开闭原则

一国两制,坚持社会主义不动摇


里氏替换原则

可以青出于蓝胜于蓝,但是祖传的东西不能变



接口隔离原则

智能手机适合年轻人,但不适合老年人


依赖倒置原则

不要按轮胎->底盘->车身来设计汽车,应该反过来


迪米特法则

只和朋友交流;朋友的事不要知道得太多。



合成利用原则

狗生狗,不可能生出会爬树的狗


其它类比: 阶级固化(农民儿子还是农民,律师儿子还是律师,不会有什么跨阶层的可能);

                  一个罗卜一个坑(只有红罗卜青罗卜的区别,微小变化,不可变身为一颗白菜 )



--------------------- 

作者:hackpig

来源:www.skcircle.com

版权声明:本文为博主原创文章,转载请附上博文链接!


发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2026年2月    »
1
2345678
9101112131415
16171819202122
232425262728
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
文章归档
网站收藏
友情链接

Powered By Z-BlogPHP 1.7.3

Copyright www.skcircle.com Rights Reserved.

鄂ICP备18008319号


站长QQ:496103864 微信:abc496103864