OOP(面向对象)的七大原则

1、开闭原则:对扩展开放,对修改封闭。(最重要)

如果新增功能,不要修改原来代码,而是对代码进行扩展,防止破坏原有的功能,所以设计之初就应该将公共部分抽象出来。

 

2、里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立

子类继承父类时,子类可以可以扩展父类的功能,但是不要改变父类原有的功能,子类也尽量不要重写父类的方法,而是另写一个方法。

 

3、依赖倒置原则:要面向接口编程,不要面向实现编程

高层模块不应该依赖底层模块,二者都应该依赖其抽象,也就是面向接口编程,降低程序的耦合性,具体的实现具有多变性,但接口比较稳定,可以更好的制定一些规范。

 

4、单一职责原则:控制类的粒度大小,将对象解耦、提高其内聚性

就一个类而言,不应该承担太多的职责,一个方法做好一件事情(原子性)。

 

5、接口隔离原则:要为各个类建立它们需要的专用接口

不依赖它不需要的接口,一个接口对应一个功能模块,同时接口里面的方法应该尽可能的少。

 

6、迪米特法则:只与你的直接朋友交谈,不跟“陌生人“讲话

类之间不建立直接的联系,如果有需要建立联系,通过它的朋友类来转达。缺点:如果系统中存在大量的中介类,增加了系统的复杂度。

 

7、合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现

例如:人和身体是组合,has a的关系,狗和动物是继承,is a的关系。

posted @   joyfulest  阅读(411)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示