1
课程目标
- 理解松耦合设计思想,软件设计
- 掌握面向对象设计原则
- 掌握重构技法改善设计
- 掌握GOF核心设计模式
什么是设计模式
借鉴建筑学家说法。不断重复发生的问题,以及该问题的解决方案的核心。 gof group of four 四个人写成的一本书,94年《设计模式》
从面向对象谈起
两个思维模型
底层思维
程序员与计算机之间的沟通。向下,如何把握机器底层,从微观理解对象构造:语言的构造,编译转换,内存模型,运行时机制(异常处理,垃圾回收-内存管理)。机器模型。
抽象思维
向上,如何将我们的周围世界抽象为程序代码。面向对象,组件封装,设计模式,架构模式。
深入理解面向对象
- 向下:三大机制,封装,继承,多态。内部机制。
- 向上:把握这些机制所带来的抽象意义,理解他们如何来表达现实世界。
软件设计复杂的根本原因
变化,客户需求,技术平台,开发团队,市场环境。
如何解决复杂性
分解
分而治之,大问题分为小问题,复杂问题分为多个简单的问题。整体流程分为子流程。行政机构,社会组织。
抽象
忽略非本质细节。去处理泛化理想化的对象模型