一句话总结面相对象6大原则系列
1.单一职责
引起类变化的原因不能多于一个。也就是说每一个类只负责自己的事情,此所谓单一职责。关于单一职责原则的原理,
我们就不做过多的解释了。重点是职责的划分!重点是职责的划分!重点是职责的划分!重要的事情说三遍。每一个类因该
划分到最小单位,对应的是数据库设计的原子性。
2.开闭原则
一个软件实体应当对扩展开放,对修改封闭
通过接口或者抽象类约束扩展,对扩展进行边界限定,不允许出现在接口或抽象类中不存在的public方法;
参数类型、引用对象尽量使用接口或者抽象类,而不是实现类;
抽象层尽量保持稳定,一旦确定即不允许修改。
3.接口隔离
类的依赖关系应建立在最小接口上,不要都塞在一起。即客户端不应该依赖它不需要的接口。
接口隔离原则就是要求只提供尽可能小的接口,需要高内聚,不需要的行为要隐藏起来
4. 里氏替换
子类必须完全实现父类有的方法,如果子类没有父类的某项东西,就断掉继承;
子类可以有父类没有的东西,所以子类的出现的地方,不一定能用父类来代替;
透明,就是安全,父类的东西换成子类后不影响程序
a、父类已经实现的东西,子类不要去new
b、父类已经实现的东西,想改的话,就必须用virtual+override 避免埋雷
5.迪米特
尽可能少写public方法和变量,不需要让其它对象知道的变量或方法就不要公开。迪米特法则的主要目的是减少模块间的依赖,
降低模块间的耦合度,提高代码的复用性。类中的方法该公有的公有,该私有的私有。
6.依赖倒置
依赖倒置原则就是程序逻辑在传递参数或关联关系时,尽量引用高层次的抽象,不使用具体的类,即使用接口或抽象类来引用参数,声明变量以及处理方法返回值等。
这样就要求具体的类就尽量不要有多余的方法,否则就调用不到。说简单点,就是“面向接口编程”
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗