3D编程模式:介绍设计原则
大家好~本文介绍6个设计原则的定义
系列文章详见:
3D编程模式:开篇
单一职责原则(SRP)
定义:
- 只有一个原因引起变化
- 一次只做一件事情
依赖倒置原则(DIP)
定义:
- 高层模块不应该依赖低层模块,两者都应该依赖其抽象
- 抽象不应该依赖细节
- 细节应该依赖抽象
具体来说就是:
模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或抽象类产生的;
接口或抽象类不依赖于实现类;
实现类依赖接口或抽象类。
接口隔离原则(ISP)
定义:
- 客户端不应该依赖它不需要的接口
- 类间的依赖关系应该建立在最小的接口上
也就是说,接口应该尽量细化,同时接口中的方法尽量少
迪米特法则(LoD)
也称为最少知识原则(LKP)
定义:
- 一个对象应该对其他对象有最少的了解
具体来说就是:
一个类应该对自己需要耦合或调用的类知道得最少,你(被耦合或调用的类)的内部是如何复杂都和我没关系,那是你的事情,我就知道你提供的这么多public方法
它包括两个方面:
- 只与直接的朋友通信
- 朋友间也是有距离的
合成复用原则(CARP)
定义:
- 要尽量使用组合而不是继承
开闭原则(OCP)
定义:
- 对扩展开放,对修改关闭
其含义是说一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现变化。
更多资料
应用原则的具体案例请见设计原则视频
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2013-06-08 Javascript OOP框架YOOP重构实践(下)
2013-06-08 Javascript OOP框架YOOP重构实践(上)