软件设计模式实验指导书

上传人:luoxia****01803 文档编号:74516884 上传时间:2019-01-28 格式:DOC 页数:11 大小:290.50KB
返回 下载 相关 举报
软件设计模式实验指导书_第1页
第1页 / 共11页
软件设计模式实验指导书_第2页
第2页 / 共11页
软件设计模式实验指导书_第3页
第3页 / 共11页
软件设计模式实验指导书_第4页
第4页 / 共11页
软件设计模式实验指导书_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《软件设计模式实验指导书》由会员分享,可在线阅读,更多相关《软件设计模式实验指导书(11页珍藏版)》请在金锄头文库上搜索。

1、软件设计模式与架构实验指导书廖光忠 编写武汉科技大学大学计算机学院实验总体说明1 实验总体目标配合设计模式的教学,培养学生的实际操作能力。2 实验课时分配实验项目学时实验一 A d a p t e r设计模式2实验二 BRIDGE设计模式4实验三 SINGLETON设计模式2实验四 PROXY设计模式4实验五 Factory Method设计模式4实验六 COMMAND设计模式4实验七 INTERPRETER设计模式2实验八 ITERATOR设计模式4实验九 VISITOR设计模式23 实验环境操作系统: Win2000,WinXP;开发工具: VC+6.0;C+,Java,C# 4实验总体要

2、求l 按照各项实验内容做实验,包括操作、观察、记录、分析,通过操作和观察获得直观印象,有些实验还应该从获得的数据中分析软件的内部功能;l 对提供源程序的实验,首先要阅读,理解和掌握程序的设计思想和采用的算法,在理解源程序的基础进行改动和扩充;l 部分实验由于实验条件的限制,可能暂时不能进行,但也要按实验指导说明的操作步骤去理解和掌握;l 每项实验均应提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包括以下内容:实验题目,实验内容说明,实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题等。实验一 A d a p t e r设计模式 实验目的将一个类的接口转换

3、成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。有时,为复用而设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。 实验环境l VC+l JAVAl C# 实验内容设计一个A d a p t e r案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 A d a p t e r结构。u 程序能够明确表达设计思想。实验二 BRIDGE设计模式 实验目的将抽象部分与它的实现部分分离,使它们都可以独立地变化。当一个抽象可能有多个实现时,通常用继承来协调它们。抽象类定义对该抽象的接口,而具体的子类

4、则用不同方式加以实现。但是此方法有时不够灵活。继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。 实验环境l VC+l JAVAl C# 实验内容设计一个BRIDGE案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 BRIDGE结构。u 程序能够明确表达设计思想。实验三 SINGLETON设计模式 实验目的保证一个类仅有一个实例,并提供一个访问它的全局访问点。让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。 实验环境l VC+l JAVAl C# 实

5、验内容设计一个SINGLETON案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 SINGLETON结构。u 程序能够明确表达设计思想。实验四 PROXY设计模式 实验目的为其他对象提供一种代理以控制对这个对象的访问。对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。我们考虑一个可以在文档中嵌入图形对象的文档编辑器。有些图形对象(如大型光栅图像)的创建开销很大。但是打开文档必须很迅速,因此我们在打开文档时应避免一次性创建所有开销很大的对象。因为并非所有这些对象在文档中都同时可见,所以也没有必要同时创建这些对象。 实验环境l VC+l JAVA

6、l C# 实验内容设计一个PROXY案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 PROXY结构。u 程序能够明确表达设计思想。实验五 Factory Method设计模式 实验目的定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。框架使用抽象类定义和维护对象之间的关系。这些对象的创建通常也由框架负责。考虑这样一个应用框架,它可以向用户显示多个文档。在这个框架中,两个主要的抽象是类A p p l i c a t i o n和D o c u m e n t。这两个类都是抽象的,客户必须通过它们的子类来做与具体应用相关的

7、实现。 实验环境l VC+l JAVAl C# 实验内容设计一个Factory Method案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 Factory Method结构。u 程序能够明确表达设计思想。 实验六 COMMAND设计模式 实验目的将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。有时必须向某对象提交请求,但并不知道关于被请求的操作或请求的接受者的任何信息。例如,用户界面工具箱包括按钮和菜单这样的对象,它们执行请求响应用户输入。但工具箱不能显式的在按钮或菜单中实现该请求,因为只有使用工具箱的应用知道该由

8、哪个对象做哪个操作。而工具箱的设计者无法知道请求的接受者或执行的操作。 实验环境l VC+l JAVAl C# 实验内容设计一个COMMAND案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 COMMAND结构。u 程序能够明确表达设计思想。实验七 INTERPRETER设计模式 实验目的给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。如果一种特定类型的问题发生的频率足够高, 那么可能就值得将该问题的各个实例表述为一个简单语言中的句子。这样就可以构建一个解释器, 该解释器通过解释这些句子来解决该问题。 实验环境l VC+l JAVAl

9、 C# 实验内容设计一个INTERPRETER案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 INTERPRETER结构。u 程序能够明确表达设计思想。实验八 ITERATOR设计模式 实验目的提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示一个聚合对象, 如列表(list), 应该提供一种方法来让别人可以访问它的元素,而又不需暴露它的内部结构. 此外,针对不同的需要,可能要以不同的方式遍历这个列表。但是即使可以预见到所需的那些遍历操作,你可能也不希望列表的接口中充斥着各种不同遍历的操作。有时还可能需要在同一个表列上同时进行多个遍历。 实验环境l VC+

10、l JAVAl C# 实验内容设计一个ITERATOR案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 ITERATOR结构。u 程序能够明确表达设计思想。实验九 VISITOR设计模式 实验目的表示一个作用于某对象结构中的各元素的操作。它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。考虑一个编译器,它将源程序表示为一个抽象语法树。该编译器需在抽象语法树上实施某些操作以进行“静态语义”分析,例如检查是否所有的变量都已经被定义了。它也需要生成代码。因此它可能要定义许多操作以进行类型检查、代码优化、流程分析,检查变量是否在使用前被赋初值,等等。 实验环境l VC+l JAVAl C# 实验内容设计一个VISITOR案例并实现,并撰写设计报告。 实验要求u 试验要求包含典型的 VISITOR结构。u 程序能够明确表达设计思想。10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > IT计算机/网络 > Windows相关

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号