当前位置: 首页 > ops >正文

C++笔记之软件设计原则总结

C++笔记之软件设计原则总结

在这里插入图片描述
code review

文章目录

  • C++笔记之软件设计原则总结
    • 1.软件设计的六大原则
    • 2.高内聚与低耦合
      • 2.1.高内聚(High Cohesion)
      • 2.2.低耦合(Low Coupling)
      • 2.3.高内聚与低耦合的关系与重要性
    • 3.DRY(Don't Repeat Yourself)原则
      • 3.1.定义
      • 3.2.好处
      • 3.3.示例
      • 3.4.与其他原则的关系
      • 3.5.实现建议
    • 4.软件设计原则的C++代码示例
      • 4.1. Single Responsibility Principle (SRP) - 单一职责原则
      • 4.2. Open-Closed Principle (OCP) - 开闭原则
      • 4.3. Liskov Substitution Principle (LSP) - 里氏替换原则
      • 4.4. Dependency Inversion Principle (DIP) - 依赖倒置原则
      • 4.5. Interface Segregation Principle (ISP) - 接口隔离原则
      • 4.6. Law of Demeter (LoD) - 迪米特法则
      • 4.7. High Cohesion and Low Coupling - 高内聚低耦合
      • 4.8. DRY (Don't Repeat Yourself) - 不要重复自己

1.软件设计的六大原则

软件设计的六大原则通常指的是面向对象编程中的核心设计原则,这些原则有助于提高软件的可维护性、可扩展性和复用性。根据常见的软件工程实践,它们包括以下六个:

原则名称 英文名称 解释
单一职责原则 Single Responsibility Principle (SRP) 一个类或模块应该只负责一项职责。如果一个类承担了多项职责,就应该拆分成多个类。这样可以降低类的复杂度,提高可读性和可维护性,避免修改一个功能时影响其他功能。
开闭原则 Open-Closed Principle (OCP) 软件实体(如类、模块、函数)应该对扩展开放,对修改关闭。这意味着在添加新功能时,应该通过继承或组合等方式扩展现有代码,而不是修改原有代码,从而减少引入 bug 的风险。
里氏替换原则 Liskov Substitu
http://www.xdnf.cn/news/20182.html

相关文章:

  • Lua > Mac Mini M4安装openresty
  • 基于Transformer 实现车辆检测与车牌识别(一)
  • disable CASCADE主键失败 ORA-2297 And ORA-2433
  • MCAP :机器人数据容器的全面实践指南
  • 区块链是什么
  • UE5 图表、函数与宏的区别与选择(蓝图折叠功能详解)
  • 【iOS】push 和 present
  • 什么时候用no,什么时候用non,什么时候用not?
  • 京东商品属性API数据解析:颜色、尺寸与材质
  • 【代码随想录算法训练营——Day4】链表——24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表II
  • 操作系统基本概念.1
  • Day 47 注意力热图可视化
  • 工作后的总结和反思4
  • SQL 入门指南:排序与分页查询(ORDER BY 多字段排序、LIMIT 分页实战)
  • 使用Shell脚本实现Linux系统资源监控邮件告警
  • 永磁同步电机 FOC 控制中 d、q 轴杂谈与角度偏移影响
  • 使用Ansible自动化部署Hadoop集群(含源码)--环境准备
  • 【Android】ViewPager2结合Fragment实现多页面滑动切换
  • 百度竞价推广:搜索竞价信息流推广代运营
  • ElementUI之Upload 上传的使用
  • C++语法之--多态
  • 了解Python
  • Ubuntu:Git SSH密钥配置的完整流程
  • 捷多邦揭秘超厚铜板:从制造工艺到设计关键环节​
  • 让字符串变成回文串的最少插入次数-二维dp
  • 单元测试详解
  • 基于树莓派与Jetson Nano集群的实验边缘设备上视觉语言模型(VLMs)的性能评估与实践探索
  • 【c++进阶系列】:万字详解AVL树(附源码实现)
  • ubuntu 系統使用過程中黑屏問題分析
  • 前端上传切片优化以及实现