--- sort: 1 --- # C++设计模式 ## 目标 - 理解松耦合设计思想 - 掌握面向对象设计原则 - 掌握重构技法改善设计 - 掌握GOF 核心设计模式 ## 从面向对象谈起 ### 底层思维:向下,如何把握机器底层从微观理解对象构造 - 语言构造 - 编译转换 - 内存模型 - 运行时机制 ### 抽象思维:向上,如何将我们的周围世界抽象为程序代码 - 面向对象 - 组件封装 - 设计模式 - 架构模式 ## 深入理解面向对象 ### 向下: 深入理解三大面向对象机制 - 封装,隐藏内部实现 - 继承,复用现有代码 - 多态,改写对象行为 ### 向上: 深刻把握面向对象机制所带来的抽象意义,理解如何使用 这些机制来表达现实世界,掌握什么是“好的面向对象设计” ## 如何解决复杂性? ### 分解 人们面对复杂性有一个常见的做法:即分而治之,将大问题分 解为多个小问题,将复杂问题分解为多个简单问题。 ### 抽象 更高层次来讲,人们处理复杂性有一个通用的技术,即抽象。 由于不能掌握全部的复杂对象,我们选择忽视它的非本质细节, 而去处理泛化和理想化了的对象模型。 ## 软件设计的目标 什么是好的软件设计?软件设计的金科玉律: **复用!**