设计模式原则

https://cloud.tencent.com/developer/article/2202441

‌单一职责原则(SRP)‌

每个类或模块应只承担一个职责,避免因多个变化原因导致耦合。例如,用户管理类不应包含订单处理功能。该原则由罗伯特·C·马丁在《敏捷软件开发:原则、模式与实践》中提出。

‌开闭原则(OCP)‌

软件实体应对扩展开放,对修改关闭。通过抽象和接口实现功能扩展,例如使用接口定义图形绘制功能,新增形状只需实现接口无需修改画布类。

‌里氏替换原则(LSP)‌

子类必须能够替换父类且不影响程序正确性。例如,所有引用鸟类的地方均可替换为燕子类,飞行行为应保持一致。

‌依赖倒置原则(DIP)‌

高层模块不应依赖低层实现,双方都应依赖抽象。例如业务逻辑层依赖数据访问接口而非具体数据库类,提升可替换性。

‌接口隔离原则(ISP)‌

避免庞大接口,应拆分出最小功能单元。例如将多功能设备接口拆分为打印机和扫描仪接口,减少冗余依赖。

‌迪米特法则(LoD)‌

对象间应保持最少知识,通过中间层降低耦合。例如模块间通过接口交互而非直接调用内部方法。

‌合成/聚合复用原则(CARP)‌

优先通过组合(has-a)而非继承(is-a)复用功能。例如在扩展类功能时引入已有对象,避免继承链的脆弱性。

相关推荐
西门吹-禅5 小时前
java springboot N+1问题
java·开发语言·spring boot
skywalk81635 小时前
设计并实现段言的 C FFI 绑定机制 @Trae
c语言·开发语言·python·编程
IT笔记7 小时前
【Rust】Rust Match 模式匹配详解
java·开发语言·rust
2zcode7 小时前
免费开源项目文档:基于MATLAB卷积神经网络的口罩佩戴检测系统
开发语言·matlab·cnn
逝水无殇7 小时前
C# 运算符重载详解
开发语言·后端·c#
TPBoreas7 小时前
配置信息防泄露方案:.env 环境隔离详解(dotenv-java)
java·开发语言
敲代码的嘎仔8 小时前
实习日志day6--实习日志day6--title命名规范化&businessType纠正&补充缺失的@Log注解&报警与通信模块补充&产出阶段总结文档
java·开发语言·人工智能·git·python·实习·大二
江华森8 小时前
Python 实现高德地图找房(一):环境搭建与数据爬虫
开发语言·爬虫·python
杜子不疼.8 小时前
【Qt初识】信号槽(三):机制意义、断开连接与 Lambda 表达式
开发语言·数据库·qt
老迟到的茉莉9 小时前
Hermes 是谁?跟 Claude Code 差在哪
开发语言·python