一:内容总结
1:主要的目的:
(1) 理解松耦合设计思想 例如(活字印刷)
(2) 掌握面向对象设计原则
(3) 掌握重构技法改善设计
(4) 掌握GOF 核心设计模式
2:什么是设计模式?
每一个模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次地使用该方案而不必做重复劳动。
3:面向对象和设计模式
底层思维:把握微观理解对象构造,语言构造,编译转换,内存模型,运行时机制。
抽象思维:向上把我们周围世界抽象为程序代码。面向对象,组件封装,设计模式,架构模式。
4:深入理解面向对象
向下:
封装:隐藏内部实现
继承:复用现在的代码
多态:改写对象的行为 (虚函数)
向上:深刻把握什么是好的面向对象的设计,把握面向对象带来的抽象意义,理解这些机制来表达的现实世界。
5:软件设计复杂的根本原因
变化: • 客户需求的变化,技术平台的变化,开发团队的变化,市场环境的变化。
6:如何解决问题的复杂性
分解的思路:分而治之,分开解决,公司架构,政府机关等等。C语言面向过程的语言。
抽象: 更高层次来讲,人们处理复杂性有一个通用的技术,即抽象。
由于不能掌握全部的复杂对象,我们选择忽视它的非本质细节,而去处理泛化和理想化了的对象模型。
7:软件设计的目标
什么是好的软件设计?软件设计的金科玉律:复用!