设计模式之SOLID原则
Posted jybtx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式之SOLID原则相关的知识,希望对你有一定的参考价值。
介绍
设计模式中的SOLID原则,分别是单一原则、开闭原则、里氏替换原则、接口隔离原则、依赖倒置原则。前辈们总结出来的,遵循五大原则可以使程序解决紧耦合,更加健壮。
SRP |
单一责任原则 |
OCP |
开放封闭原则 |
LSP |
里氏替换原则 |
ISP |
接口隔离原则 |
DIP |
依赖倒置原则 |
单一责任原则
指的是一个类或者一个方法只做一件事。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化就可能抑制或者削弱这个类完成其他职责的能力。例如餐厅服务员负责把订单给厨师去做,而不是服务员又要订单又要炒菜。
开放封闭原则
对扩展开放,对修改关闭。意为一个类独立之后就不应该去修改它,而是以扩展的方式适应新需求。例如一开始做了普通计算器程序,突然添加新需求,要再做一个程序员计算器,这时不应该修改普通计算器内部,应该使用面向接口编程,组合实现扩展。
里氏替换原则
所有基类出现的地方都可以用派生类替换而不会程序产生错误。子类可以扩展父类的功能,但不能改变父类原有的功能。例如机动车必须有轮胎和发动机,子类宝马和奔驰不应该改写没轮胎或者没发动机。
接口隔离原则
类不应该依赖不需要的接口,知道越少越好。例如电话接口只约束接电话和挂电话,不需要让依赖者知道还有通讯录。
依赖倒置原则
指的是高级模块不应该依赖低级模块,而是依赖抽象。抽象不能依赖细节,细节要依赖抽象。比如类A内有类B对象,称为类A依赖类B,但是不应该这样做,而是选择类A去依赖抽象。例如垃圾收集器不管垃圾是什么类型,要是垃圾就行。
总结
单一责任原则是面向对象编程中最常用的设计原则之一。您可以将其应用于类,软件组件和微服务。
要遵循这一原则,您的团队不得承担多项责任,例如实体管理或数据类型转换。这避免了责任之间的任何不必要的技术耦合,并降低了您需要更改班级的可能性。它还降低了每个更改的复杂性,因为它减少了受其影响的依赖类的数量。
这几个设计模式原则是以后学习设计模式的基础,它们的共同目的就是 SOLID ——建立稳定、灵活、健壮的设计。
以上是关于设计模式之SOLID原则的主要内容,如果未能解决你的问题,请参考以下文章
六大设计原则(SOLID)
设计模式之SOLID原则
跟着盒子的代码设计示例,一起对面向对象的设计模式之SOLID原则加深理解
跟着盒子的代码设计示例,一起对面向对象的设计模式之SOLID原则加深理解
跟着盒子的代码设计示例,一起对面向对象的设计模式之SOLID原则加深理解
架构设计原则之我见2