文档介绍:1/6
《软件设计模式》教学大纲
一、课程说明
1、课程编号:
2、课程名称(中/英文):软件设计模式/SoftwareDesignPatterns
3、课程类别:专业课/限选
4、学时/学分:32/
5、先修课程:实验和课堂讨论。
采用实例驱动教学法,以实例为中心讲解相关知识点。以课堂讲授为主,结合上机实验和课堂讨论。
采用实例驱动教学法,以实例为中心讲解相关知识点。以课堂讲授
7/6
5/6
为主,结合上机实验和课堂讨论。
第6章行为型设计模式
行为型模式概述,职责链模式,命令模式,迭代器模式,观察者模式,状态模式,策略模式,模板方法模式
9
7
2
常用行为型设计模式的动机、定义、结构和实现
命令模式、观察者模式、状态模式
采用实例驱动教学法,以实例为中心讲解相关知识点。以课堂讲授为主,结合上机实验和课堂讨论。
注:实践包括实验、上机等
五、实践教学内容和基本要求
本实践教学的主要任务是要求学生通过课内实验,熟悉UML类图的绘制
以及双向工程;通过面向对象设计原则对不良设计方案进行重构;结合具体项目场景,实现常用的软件设计模式,包括简单工厂模式,工厂方法模式,抽象工厂模式,原型模式,单例模式,适配器模式,桥接模式,组合模式,装饰模式,外观模式,代理模式,职责链模式,命令模式,迭代器模式,观察者模式,状态模式,策略模式和模板方法模式等设计模式。通过对本实践课程的学****学生将熟悉UML类图的绘制和使用;熟悉常用的面向对象设计原则并使用面向对象设计原则对软件设计方案进行重构;熟
悉常用的设计模式,掌握常用的设计模式的定义与结构,理解其设计方案和实现原理,结合实例学****如何运用设计模式解决项目实际问题,提高系统设计水平和代码质量,并学会分析设计模式的优缺点,熟悉模式的适用场景,使用面向对象编程语言实现常用的设计模式并绘制相应的结构图。
要求学生在课外时间,分析并研究一个已有的开源Java项目,撰写论
文说明该项目在何处使用了何种设计模式,以及为什么要使用这些设计模式;或者研究设计模式与某一软件质量属性(例如可扩展性、可复用性、可维护性、可靠性等)之间的关系,撰写一篇相应的论文。通过课外实验,
6/6
深入理解在真实项目中如何应用软件设计模式以及如何通过设计模式提高软件质量,有助于学生更好地掌握所学软件设计模式。
本课程实践教学内容和基本要求如下表所示:
实验项目名称
实验学时
实践内容
基本要求
实验1UML类图和面向对象设计原则实验
2
根据项目场景绘制对应的类图;使用常用的面向对象设计原则对面向对象系统中的类设计进行重构。
正确无误绘制项目场景对应的类图。
选择合适的面向对象设计原则对系统进行重构,正确无误地绘制重构之后的类图。
实验2创建型设计模式实验
2
结合实例实现几种常见的创建型设计模式,包括简单工厂模式、工厂方法模式、抽象工厂模式、原型模式和单例模式,理解每一种设计模式的模式动机,