本篇为C++设计模式的总结课,此篇再回到原帮助大家梳理一下。
文章目录
1. 一个目标
管理变化,提高复用!
首先我们特别去强调目标,很多人学习设计模式,会把他当做算法结构一样学习,尝试分析结构,理解结构和调用流程,这些在最初的学习是有必要的,但是远远不够的,在学习模式过程中有一个核心目标需要紧紧把握住,即管理变化,提高复用!
2. 两种手段
分解 vs. 抽象
面向对象需要先分解
,这跟人认识这个世界也是一样的,一个小孩子刚开始去认识这个世界,这是梨,这是苹果,知道他们有不同,我们去做设计的时候也是需要先做分解,这是line、rectangle等,但是很快要建立抽象
思维,就像小孩知道这一类归属于水果的抽象,在程序管理中,可以针对抽象进行统一的管理。
所以软件设计和人认识这个世界的思维模型是十分类似的。
3. 八大原则
-
依赖倒置原则(DIP )
-
开放封闭原则(OCP )
-
单一职责原则(SRP)
-
Liskov 替换原则(LSP )
-
接口隔离原则(ISP)<