- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件设计模式实指导书
软件设计模式与架构
实验指导书
廖光忠 编写
武汉科技大学大学计算机学院
实验总体说明
实验总体目标
配合设计模式的教学,培养学生的实际操作能力。
实验课时分配
实验项目 学时 实验一 A d a p t e r设计模式 2 实验二 BRIDGE设计模式 4 实验三 SINGLETON设计模式 2 实验四 PROXY设计模式 4 实验五 Factory Method设计模式 4 实验六 COMMAND设计模式 4 实验七 INTERPRETER设计模式 2 实验八 ITERATOR设计模式 4 实验九 VISITOR设计模式 2
实验环境
操作系统: Win2000,WinXP;
开发工具: VC++6.0;C++,Java,C#
4.实验总体要求
按照各项实验内容做实验,包括操作、观察、记录、分析,通过操作和观察获得直观印象,有些实验还应该从获得的数据中分析软件的内部功能;
对提供源程序的实验,首先要阅读,理解和掌握程序的设计思想和采用的算法,在理解源程序的基础进行改动和扩充;
部分实验由于实验条件的限制,可能暂时不能进行,但也要按实验指导说明的操作步骤去理解和掌握;
每项实验均应提交实验报告,实验报告的内容可参照实验的具体要求,但总体上应包括以下内容:实验题目,实验内容说明,实验准备情况,实验记录,实验结果分析,算法描述,程序段,实验过程中遇到的问题等。
实验一 A d a p t e r设计模式
实验目的
将一个类的接口转换成客户希望的另外一个接口。A d a p t e r模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
有时,为复用而设计的工具箱类不能够被复用的原因仅仅是因为它的接口与专业应用领域所需要的接口不匹配。
实验环境
VC++
JAVA
C#
实验内容
设计一个A d a p t e r案例并实现,并撰写设计报告。
实验要求
试验要求包含典型的 A d a p t e r结构。
程序能够明确表达设计思想。
实验二 BRIDGE设计模式
实验目的
将抽象部分与它的实现部分分离,使它们都可以独立地变化。
当一个抽象可能有多个实现时,通常用继承来协调它们。抽象类定义对该抽象的接口,而具体的子类则用不同方式加以实现。但是此方法有时不够灵活。继承机制将抽象部分与它的实现部分固定在一起,使得难以对抽象部分和实现部分独立地进行修改、扩充和重用。
实验环境
VC++
JAVA
C#
实验内容
设计一个BRIDGE案例并实现,并撰写设计报告。
实验要求
试验要求包含典型的 BRIDGE结构。
程序能够明确表达设计思想。
实验三 SINGLETON设计模式
实验目的
保证一个类仅有一个实例,并提供一个访问它的全局访问点。
让类自身负责保存它的唯一实例。这个类可以保证没有其他实例可以被创建(通过截取创建新对象的请求),并且它可以提供一个访问该实例的方法。
实验环境
VC++
JAVA
C#
实验内容
设计一个SINGLETON案例并实现,并撰写设计报告。
实验要求
试验要求包含典型的 SINGLETON结构。
程序能够明确表达设计思想。
实验四 PROXY设计模式
实验目的
为其他对象提供一种代理以控制对这个对象的访问。
对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。我们考虑一个可以在文档中嵌入图形对象的文档编辑器。有些图形对象(如大型光栅图像)的创建开销很大。但是打开文档必须很迅速,因此我们在打开文档时应避免一次性创建所有开销很大的对象。因为并非所有这些对象在文档中都同时可见,所以也没有必要同时创建这些对象。
实验环境
VC++
JAVA
C#
实验内容
设计一个PROXY案例并实现,并撰写设计报告。
实验要求
试验要求包含典型的 PROXY结构。
程序能够明确表达设计思想。
实验五 Factory Method设计模式
实验目的
定义一个用于创建对象的接口,让子类决定实例化哪一个类。Factory Method使一个类的实例化延迟到其子类。
框架使用抽象类定义和维护对象之间的关系。这些对象的创建通常也由框架负责。考虑这样一个应用框架,它可以向用户显示多个文档。在这个框架中,两个主要的抽象是类A p p l i c a t i o n和D o c u m e n t。这两个类都是抽象的,客户必须通过它们的子类来做与具体应用相关的实现。
实验环境
VC++
JAVA
C#
实验内容
设计一个Factory Method案例并实现,并撰写设计报告。
实验要求
试验要求包含典型的 Factory Method结构。
程序能够明确表达设计思想。
实验六 COMMAND设计模式
实验目的
将一个请求封装
文档评论(0)