代码改变世界

OO中的设计原则

  Virus-BeautyCode  阅读(595)  评论(1编辑  收藏  举报
今天看了一下王涛写的《你必须知道的.NET》一书,感觉还是很不错的,对于初级或者中级的人来说是一本很好的书。

在学习完语言之后,又练习使用了语言之后,就想要了解一些深层次的东西,比如说设计模式,设计原则,OO等,从这本书里面都可以找得到,感谢作者写出这么好的书。
现在将书中的OO设计原则部分做了一下摘抄。
OO的5个原则分别是:单一职责原则、开放封闭原则、依赖倒置原则、接口隔离原则和Liskov替换原则。


设计原则                         英文表达                                       说明

单一职责原则                     SRP,Single Responsibility Principle           一个类,应该仅有一个引起它变化的原因。
                                                                                不要将变化原因不同的职责封装在一起,而
                                                                                应该分离

开放封闭原则                     OCP,Open Closed Principle                     软件实体应当对修改关闭,对扩展开放

依赖倒置原则                     DIP,Dependency Inversion Principle            依赖于抽象,而不要依赖于具体,因为抽象
                                                                                相对稳定

接口隔离原则                     ISP,Interface Segregation Principle           尽量应用专门的接口,而不是单一的总接口,接口
                                                                                接口应该面向用户,将依赖建立在最小的接口上

Liskov替换原则                   LSP,Livkov Substitution Principle             子类必须能够替换其基类

合成/聚合复用原则                CARP,Composite/Aggregate Principle            对新对象中聚合已有对象,使之成为新对象的成员
                                                                                ,从而通过操作这些对象达到复用的目的。合成
                                                                                方式较继承方式耦合更松散,所以应该少继承、
                                                                                多耦合。

迪米特法则                       LoD,Law of Demeter                            又叫最少知识原则,指软件实体应该尽可能少的和
                                                                                其他软件实体发生相互作用。


编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示