软件体系结构设计模式实验报告
学生姓名:所在学院:学生学号:学生班级:指导教师:完成日期:
f一、实验目的
熟练利用PowerDesig
er和任意一种面向对象编程语言实现几种常见的设计模式,包括组合模式、外观模式、代理模式、观看者模式和策略模式,明白得每一种设计模式的模式动机,把握模式结构,学习如何利用代码实现这些模式,并学会分析这些模式的利用成效。
二、实验内容使用PowerDesig
er和任意一种面向对象编程语言实现组合模
式、外观模式、代理模式、观看者模式和策略模式,包括依如实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。
1组合模式利用组合模式设计一个杀毒软件A
tiVirus的框架,该软件既能够对某个文件夹Folder杀毒,也能够对某个指定的文件File进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、视频文件VideoFile。绘制类图并编程模拟实现。
2组合模式某教育机构组织结构如以下图所示:
北京总部
教务办公室
湖南分校
行政办公室
教务办公室
长沙教学点
湘潭教学点
行政办公室
教务办公室行政办公室教务办公室行政办公室
在该教育机构的OA系统中能够给各级办公室下发公函,现采纳
f组合模式设计该机构的组织结构,绘制相应的类图并编程模拟实现,
在客户端代码中模拟下发公函。(注:能够概念一个办公室类为抽象
叶子构件类,再将教务办公室和行政办公室作为其子类;能够概念一
个教学机构类为抽象容器构件类,将总部、分校和教学点作为其子
类。)
3外观模式
某系统需要提供一个文件加密模块,加密流程包括三个操作,别
离是读取源文件、加密、保留加密以后的文件。读取文件和保留文件
利用流来实现,这三个操作相对独立,其业务代码封装在三个不同的
类中。此刻需要提供一个统一的加密外观类,用户能够直接利用该加
密外观类完成文件的读取、加密和保留三个操作,而不需要与每一个
类进行交互,利用外观模式设计该加密模块,要求编程模拟实现。参
考类图如下:
reader
ewFileReadercipher
ewCipherMachi
ewriter
ewFileWriter
Stri
gplai
StrreaderreadfileNameSrcStri
ge
cryptStrciphere
cryptplai
Strwriterwritee
cryptStrfileNameDes
E
cryptFacade
readerFileReadercipherCipherMachi
ewriterFileWriter
E
cryptFacadefileE
cryptStri
gfileNameSrcvoid
Stri
gfileNameDes
reader
cipher
writer
FileWriter
FileReader
writeStri
ge
cryptTextvoid
readStri
gfileNameSrcStri
g
Stri
gfileNameDes
CipherMachi
e
4外观模式
e
cryptStri
gplai
r