设计模式 #计算机科学 软件工程

1

课程目标

  • 理解松耦合设计思想,软件设计
  • 掌握面向对象设计原则
  • 掌握重构技法改善设计
  • 掌握GOF核心设计模式

什么是设计模式

借鉴建筑学家说法。不断重复发生的问题,以及该问题的解决方案的核心。 gof group of four 四个人写成的一本书,94年《设计模式》

从面向对象谈起

两个思维模型

底层思维

程序员与计算机之间的沟通。向下,如何把握机器底层,从微观理解对象构造:语言的构造,编译转换,内存模型,运行时机制(异常处理,垃圾回收-内存管理)。机器模型。

抽象思维

向上,如何将我们的周围世界抽象为程序代码。面向对象,组件封装,设计模式,架构模式。

深入理解面向对象

  • 向下:三大机制,封装,继承,多态。内部机制。
  • 向上:把握这些机制所带来的抽象意义,理解他们如何来表达现实世界。

软件设计复杂的根本原因

变化,客户需求,技术平台,开发团队,市场环境。

如何解决复杂性

分解

分而治之,大问题分为小问题,复杂问题分为多个简单的问题。整体流程分为子流程。行政机构,社会组织。

抽象

忽略非本质细节。去处理泛化理想化的对象模型

软件设计的目标:复用