C++设计原则

  • 依赖倒置原则(DIP)

mainform依赖line和rect这是不对的

(会导致mainform也不稳定)

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

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

  • 开放封闭原则

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

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

  • 单一职责原则

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

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

  • Liskov替换原则

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

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

  • 接口隔离原则

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

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

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

  • 封装变化点

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

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

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

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

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

设计原则归纳提升:

1.设计习语

2.设计模式:解决复用

3.架构模式

相关推荐
fpcc14 分钟前
跟我学C++中级篇——重载问题分析之函数模板重载的问题
c++
仟濹30 分钟前
【C/C++】经典高精度算法 5道题 加减乘除「复习」
c语言·c++·算法
kk”1 小时前
C++ map
开发语言·c++
共享家95271 小时前
特殊类的设计
开发语言·c++
信奥卷王2 小时前
2025年9月GESPC++三级真题解析(含视频)
开发语言·c++·算法
qq_433554543 小时前
C++ 稀疏表
开发语言·c++·算法
Bona Sun3 小时前
单片机手搓掌上游戏机(十二)—esp8266运行gameboy模拟器之编译上传
c语言·c++·单片机·游戏机
帅中的小灰灰3 小时前
C++编程观察者设计模式
数据库·c++·设计模式
MSTcheng.4 小时前
【C++STL】priority_queue 模拟实现与仿函数实战
开发语言·c++
还有几根头发呀4 小时前
从 C++ 的角度,系统地解释 进程(Process)、线程(Thread)、协程(Coroutine) 的概念、原理、优缺点,以及常见应用场景。
c++