课程

中国大学MOOC,为你提供一流的大学教育

hi,小mooc
期末考试会员
SPOC学校专有课程
软件设计模式
第10次开课
开课时间: 2025年02月28日 ~ 2025年07月30日
学时安排: 4
进行至第20周,共22周 已有 86 人参加
立即参加
spContent=软件系统设计与体系结构是一套被反复使用、多数人知晓的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式(design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含义还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问题。设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。随着软件开发社群对设计模式的兴趣日益增长,已经出版了一些相关的专著,定期召开相应的研讨会,而且Ward Cunningham为此发明了WikiWiki用来交流设计模式的经验。
软件系统设计与体系结构是一套被反复使用、多数人知晓的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。设计模式(design pattern)是对面向对象设计中反复出现的问题的解决方案。这个术语是在1990年代由Erich Gamma等人从建筑设计领域引入到计算机科学中来的。这个术语的含义还存有争议。算法不是设计模式,因为算法致力于解决问题而非设计问题。设计模式通常描述了一组相互紧密作用的类与对象。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。随着软件开发社群对设计模式的兴趣日益增长,已经出版了一些相关的专著,定期召开相应的研讨会,而且Ward Cunningham为此发明了WikiWiki用来交流设计模式的经验。
—— 课程团队
课程概述

本课程是软件工程、计算机科学与技术、信息管理与信息系统等专业本科生的一门专业课,本课程是一门具有较强理论性和实践性的软件设计和开发类课程。

本课程主要学习软件设计模式基础知识、UML类图、面向对象设计原则、常用的创建型设计模式、结构型设计模式和行为型设计模式。本课程要求学生掌握常用软件设计模式的动机、定义、结构、实现、使用效果以及应用实例,能够将所学知识应用到实际软件项目设计与开发中,进一步培养学生的工程实践能力和专业技术水平,为今后从事相关工作奠定基础。

本课程首先学习软件设计模式的基本知识和UML类图;接着介绍常见的七个面向对象设计原则;然后重点介绍使用频率较高的软件设计模式,包括五种创建型设计模式(简单工厂模式、工厂方法模式、抽象工厂模式、原型模式、单例模式)、六种结构型设计模式(适配器模式、桥接模式、组合模式、装饰模式、外观模式、代理模式)和七种行为型设计模式(职责链模式、命令模式、迭代器模式、观察者模式、状态模式、策略模式、模板方法模式)。此外,为了帮助学生深入理解所学知识,提高实践动手能力并将所学知识应用于解决实际问题,本课程设置了相应的实践环节,针对具体问题合理选择设计模式,绘制相应的模式结构图并使用代码实现模式结构,通过实践环节,进一步理解和掌握所学知识并将所学知识应用于软件设计和开发。

授课目标

本课程是软件工程、计算机科学与技术、信息管理与信息系统等专业本科生的一门专业课,本课程是一门具有较强理论性和实践性的软件设计和开发类课程。本课程既可以在大学中相关专业中开放,也可以面向企业开放相关课程。

成绩 要求

考核内容

考核方式

成绩比例(%)

备注

软件设计模式基本知识、面向对象设计原则基本知识

实验和出勤

50

测验

软件设计模式基本知识、面向对象设计原则基本知识和软件设计模式的应用

期末考核

50

笔试


课程大纲
设计模式概述
课时目标:1.面向对象设计范式、类的UML表示、类之间的关系;2.面向对象程序设计封装与多态性的理解
1.1面向对象设计范式、类的UML表示、类之间的关系;
1.2类的UML表示、类之间的关系;
1.3面向对象程序设计封装与多态性的理解;
面向对象设计原则
课时目标:1.单一职责原则、开闭原则、里氏代换原则、依赖倒转原则、合成复用原则;2.采用实例驱动教学法,以实例为中心讲解相关知识点。以课堂讲授为主,结合上机实验和课堂讨论。
2.1单一职责原则
2.2开闭原则
2.3里氏代换原则
2.4依赖倒转原则
2.5合成复用原则
2.6接口隔离原则
2.7迪米特法则
创建型设计模式
课时目标:1.常用创建型设计模式的动机、定义、结构和实现2.采用实例驱动教学法,以实例为中心讲解相关知识点。以课堂讲授为主,结合上机实验和课堂讨论。
3.1创建型模式概述
3.2简单工厂模式;
3.3工厂方法模式;
3.4抽象工厂模式;
3.5原型模式;
3.6单例模式;
结构型设计模式
课时目标:采用实例驱动教学法,以实例为中心讲解相关知识点。以课堂讲授为主,结合上机实验和课堂讨论。
4.1结构型模式概述
;4.2适配器模式
;4.3桥接模式
;4.4组合模式
;4.5装饰模式
;4.6外观模式
;4.7代理模式
行为型设计模式
课时目标:采用实例驱动教学法,以实例为中心讲解相关知识点。以课堂讲授为主,结合上机实验和课堂讨论。
5.1行为型模式概述
;5.2职责链模式
;5.3命令模式
;5.4迭代器模式;,
5.5观察者模式
;5.6状态模式
;5.7策略模式
;5.8模板方法模式
;5.9访问者模式
展开全部
预备知识

UML

JAVA

参考资料

教 材:刘伟. Java设计模式实训教程. 北京: 清华大学出版社, 2018.

参考书:Steven John Metsker(史蒂芬.约翰.梅特斯克), William C.Wake(威廉.维克).Java设计模式第2版. 北京:电子工业出版社,2012.

常见问题
  1. 这门课对本科有什么用?
  2. 这门课很多学校已经作为考研专业课的考核项,希望大家认真学习。
南京晓庄学院
1 位授课老师
王燕清

王燕清

教授

下载
下载

下载App