SOLID之六大原则

  S(Single Responsibility Principle):单一责任原则

  O(Open Closed Principle):开放封闭原则

  L(Liskov Substitution Principle):里氏替换原则

  L(Law of Demeter):迪米特法则

  I(Interface Segregation Principle):接口分离原则

  D(Dependence Inversion Principle):依赖倒置原则

 

单一责任原则: 
当需要修改某个类的时候原因有且只有一个(THERE SHOULD NEVER BE MORE THAN ONE REASON FOR A CLASS TO CHANGE)。换句话说就是让一个类只做一种类型责任,当这个类需要承当其他类型的责任的时候,就需要分解这个类。 就是一个类只负责一个职责

 

开放封闭原则 
软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开放的,而对修改是封闭的。这个原则是诸多面向对象编程原则中最抽象,开闭原则中的对扩展开放,如果在项目中添加一个功能的时候,可以直接对代码进行扩展。如果要修改某一部分的功能时,我们应该做的是,尽量少做修改(完全不修改是不可能的),但是修改的时候,要保留原来的功能,只是在上面扩展出新的功能,就像版本更新一样,更新后,依然支持旧版本。

 

里氏替换原则 
当一个子类的实例应该能够替换任何其超类的实例时,它们之间才具有is-A关系 

 

迪米特原则 

迪米特法则也叫最少知道原则(Least Knowledge Principle, LKP ),虽然名称不同,但都是同一个意思:一个对象应该对其他对象有最少的了解,比如:我们在写一个类的时候,应该尽可能的少暴露自己的接口。在写类的时候,能不 public 就不 public ,所有暴露的属性或是接口,都是不得不暴露的,这样的话,就能保证其他类对这个类有最少的了解了。

 

依赖倒置原则
1. 高层模块不应该依赖于低层模块,二者都应该依赖于抽象 
2. 抽象不应该依赖于细节

3. 细节应该依赖于抽象 

我们要尽可能使用接口或抽象类。也就是“面向接口编程” 或者说 “面向抽象编程” ,也就是说程序中要尽可能使用抽象类或是接口,任何类都不应该从具体类中派生

 

接口分离原则 
不能强迫用户去依赖那些他们不使用的接口。使用多个专门的接口比使用单一的总接口总要好。客户端不应该依赖它不需要的接口,类间的依赖关系应该建立在最小的接口上。单一职责原则是按照 职责进行划分接口的,而接口隔离原则则是按照实现类对方法的使用来划分的

posted @   彪悍的代码不需要注释  阅读(764)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
39
0
点击右上角即可分享
微信分享提示