C++设计原则

  • 依赖倒置原则(DIP)

mainform依赖line和rect这是不对的

(会导致mainform也不稳定)

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

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

  • 开放封闭原则

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

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

  • 单一职责原则

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

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

  • Liskov替换原则

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

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

  • 接口隔离原则

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

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

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

  • 封装变化点

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

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

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

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

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

设计原则归纳提升:

1.设计习语

2.设计模式:解决复用

3.架构模式

相关推荐
2401_831920748 分钟前
C++代码国际化支持
开发语言·c++·算法
m0_6727033115 分钟前
上机练习第51天
数据结构·c++·算法
2401_8512729934 分钟前
自定义内存检测工具
开发语言·c++·算法
☆5661 小时前
C++中的命令模式
开发语言·c++·算法
仰泳的熊猫1 小时前
题目2577:蓝桥杯2020年第十一届省赛真题-走方格
数据结构·c++·算法·蓝桥杯
灰色小旋风1 小时前
力扣13 罗马数字转整数
数据结构·c++·算法·leetcode
2301_810160952 小时前
C++与物联网开发
开发语言·c++·算法
cm6543202 小时前
基于C++的操作系统开发
开发语言·c++·算法
ArturiaZ2 小时前
【day57】
开发语言·c++·算法
2401_874732532 小时前
C++并发编程中的死锁避免
开发语言·c++·算法