C++设计原则

  • 依赖倒置原则(DIP)

mainform依赖line和rect这是不对的

(会导致mainform也不稳定)

应该转化为都依赖于抽象:

mainform依赖于shape,line和rect依赖shape

  • 开放封闭原则

对扩展是开放的,对更改是封闭的

想着增加东西,而不是修改原有的。

  • 单一职责原则

    一个类仅有一个引起他变化的原因。

    变化就是类的责任,一个类一个责任。

  • Liskov替换原则

    子类必须能够替换他的父类

    不然就是和父类没关系的。

  • 接口隔离原则

    接口就应该小,而且完备,只做有必要的进public

  • 优先使用对象组合,而非类继承

    以前特别推崇类继承,但是这个是错误的,汽车可以继承于交通工具。这个是可以的

  • 封装变化点

    封装的两侧,一侧变化,一侧稳定

  • 针对接口编程,而不是针对实现。

    客户只需要知道接口就可以了,

    高内聚,松耦合。例如在mainform就弄三个数据结构存东西,不太行。

接口标准化就是最高的追求。

设计原则归纳提升:

1.设计习语

2.设计模式:解决复用

3.架构模式

相关推荐
hetao173383718 小时前
2025-12-12~14 hetao1733837的刷题笔记
数据结构·c++·笔记·算法
椰子今天很可爱18 小时前
五种I/O模型与多路转接
linux·c语言·c++
程序员zgh18 小时前
C++ 互斥锁、读写锁、原子操作、条件变量
c语言·开发语言·jvm·c++
獭.獭.20 小时前
C++ -- STL【unordered_set和unordered_map的使用】
c++·stl·unordered_map·unordered_set
star _chen21 小时前
C++ std::move()详解:从小白到高手
开发语言·c++
福尔摩斯张21 小时前
C++核心特性精讲:从C语言痛点出发,掌握现代C++编程精髓(超详细)
java·linux·c语言·数据结构·c++·驱动开发·算法
charlie1145141911 天前
如何快速在 VS2026 上使用 C++ 模块 — 完整上手指南
开发语言·c++·笔记·学习·现代c++
报错小能手1 天前
STL_unordered_map
开发语言·c++·哈希算法
历程里程碑1 天前
C++ 9 stack_queue:数据结构的核心奥秘
java·开发语言·数据结构·c++·windows·笔记·算法
仰泳的熊猫1 天前
1108 Finding Average
数据结构·c++·算法·pat考试