设计原则
1.单一职责原则SRP
一个对象只包含单一原则,并且职责被完整封装在一个类中
对一个类,应该仅有一个引起他变化的原因
一个类的职责(数据属性和方法)越多,复用可能性越低,且越耦合
2.开闭原则OCP
一个实体应该对扩展开发,对修改关闭,在设计模块时,应该在这个模块在不被修改前提下被扩展。
抽象化是开闭原则的关键,需要找到系统的可变因素并封装起来
3.里氏替换LSP
所有引用父类的地方必须能透明的使用子类的对象
4.依赖倒转原则DIP
高层模块不应该依赖底层模块,他们都应该依赖抽象,抽象不依赖细节,细节依赖于抽象。
针对接口编程,而不是实现
举例:策略层依赖机制层,机制层依赖工具层
5.接口隔离原则LSP
客户端不应该依赖不需要的接口
一旦一个接口太大,需要把他分割成更小的接口,使用该接口的客户端只需要知道与之相关的方法即可
6.迪米特法则LOD
一个软件实体应该尽可能少的与其他实体发生作用。当一个模块修改时,尽量少的影响其他模块。
7.合成复用接口原则CRP
尽量使用对象组合,而不是继承来到达复用的目的。
8.总结
对于一个类的设计主要遵循单一原则,类的变化点要满足开闭原则。
对应类的关系,首先要遵守迪米特法则,尽量少的相互关系。
对于发生关系的,要遵守依赖倒置原则,需要依赖抽象。
如果有依赖关系,注意接口隔离原则。
如果有复用的需要,优先使用关联关系而不是继承。
如果继承,满足里氏替换关系。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律