- 1、本文档共20页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
软件体系结构
设计模式实验报告
学生姓名:
所在学院:
学生学号:
学生班级:
指导教师:
完成日期:
一、实验目的
熟练利用PowerDesigner和任意一种面向对象编程语言实现几种常见的设计模式,包括组合模式、外观模式、代理模式、观看者模式和策略模式,明白得每一种设计模式的模式动机,把握模式结构,学习如何利用代码实现这些模式,并学会分析这些模式的利用成效。
二、实验内容
使用PowerDesigner和任意一种面向对象编程语言实现组合模式、外观模式、代理模式、观看者模式和策略模式,包括依如实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。
(1)组合模式
利用组合模式设计一个杀毒软件(AntiVirus)的框架,该软件既能够对某个文件夹(Folder)杀毒,也能够对某个指定的文件(File)进行杀毒,文件种类包括文本文件TextFile、图片文件ImageFile、视频文件VideoFile。绘制类图并编程模拟实现。
(2)组合模式
某教育机构组织结构如以下图所示:
在该教育机构的OA系统中能够给各级办公室下发公函,现采纳组合模式设计该机构的组织结构,绘制相应的类图并编程模拟实现,在客户端代码中模拟下发公函。(注:能够概念一个办公室类为抽象叶子构件类,再将教务办公室和行政办公室作为其子类;能够概念一个教学机构类为抽象容器构件类,将总部、分校和教学点作为其子类。)
(3)外观模式
某系统需要提供一个文件加密模块,加密流程包括三个操作,别离是读取源文件、加密、保留加密以后的文件。读取文件和保留文件利用流来实现,这三个操作相对独立,其业务代码封装在三个不同的类中。此刻需要提供一个统一的加密外观类,用户能够直接利用该加密外观类完成文件的读取、加密和保留三个操作,而不需要与每一个类进行交互,利用外观模式设计该加密模块,要求编程模拟实现。参考类图如下:
(4)外观模式
在电脑主机(Mainframe)中,只需要按下主机的开机按钮(on()),即可挪用其他硬件设备和软件的启动方式,如内存(Memory)的自检(check()),CPU的运行(run()),硬盘(HardDisk)的读取(read()),操作系统(OS)的载入(load())等,若是某一进程发生错误那么电脑启动失败。利用外观模式模拟该进程,绘制类图并编程模拟实现。
(5)代理模式
应用软件所提供的桌面快捷方式是快速启动应用程序的代理,桌面快捷方式一样利用一张小图片来表示(Picture),通过挪用快捷方式的run()方式将挪用应用软件(Application)的run()方式。利用代理模式模拟该进程,绘制类图并编程模拟实现。
(6)代理模式
在某应用软件中需要记录业务方式的挪用日记,在不修改现有业务类的基础上为每一个类提供一个日记记录代理类,在代理类中输出日记,如在业务方式method()挪用之前输出“方式method()被挪用,调历时刻为2020-10-1010:10:10”,挪用以后若是没有抛异样那么输出“方式method()成功挪用”,不然输出“方式method()挪用失败”
(7)观看者模式
某在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价钱转变幅度达到5%时,系统将自动发送通知(包括新价钱)给购买该股票的股民。现利用观看者模式设计该系统,绘制类图并编程模拟实现。
(8)观看者模式
某联机射击游戏能够实时显示队友和仇敌的存活信息,若是有队友或仇敌阵亡,所有在线游戏玩家将收到相应的消息,现提供一个统一的中央角色操纵类(CenterController)来实现消息传递机制,在中央角色操纵器中概念一个集合用于存储所有的用户信息,若是某用户角色(Player)阵亡,那么挪用CenterController的通知方式notify(),该方式将遍历用户信息集合,挪用每一个Player的display()方式显示阵亡信息,若是是队友阵亡,提示信息为:队友****阵亡,我方队员尚有**人;若是是仇敌阵亡,提示信息为:仇敌****阵亡,敌方队员尚有**人。在挪用notify()方式通知其他用户的同时,阵亡的角色对象将从用
您可能关注的文档
- 《雷雨》全省一等奖-完整版PPT课件.pptx
- 常见运动损伤的预防和紧急处理课件 (1).ppt
- 部编版《雷雨》教学设计说课稿PPT.ppt
- 试用期员工转正考核表 (6).doc
- 《常见运动损伤的预防和紧急处理》课件PPT.ppt
- 软件体系结构.pptx
- 2022年部编人教版二年级语文下册期末考试卷及答案【完整】.doc
- 统编人教部编版小学语文三年级下册语文必读书阅读训练三.doc
- 软件工程---软件设计模式与体系结构.ppt
- 必威体育精装版中学生体育课运动损伤的预防和处理幻灯片.ppt
- 2023年军队文职人员招聘之军队文职管理学与服务训练试卷和答案.pdf
- 2022年西华师范大学专业课《中国美术史纲要》科目期末试卷A(有答案).pdf
- 2022年哈尔滨工程大学软件工程专业《计算机组成原理》科目期末.pdf
- 2022年汽车驾驶员(技师)复审考试及考试题库及答案参考26 .pdf
- 2022年智网工程师2021年-智网工程师题库(初级)选择题五试卷 .pdf
- 2022年汽车修理工《汽车修理工(技师)》安全生产模拟考试题(十).pdf
- 2022年榆林学院数据科学与大数据技术专业《数据库系统原理》科目期末.pdf
- 2022年车工(高级)考试内容及考试题库含答案参考60 .pdf
- 2022年-2023年高校教师资格证之高校教师职业道德强化训练试卷A卷附答案.pdf
- 2022年安徽警官职业学院单招职业适应性测试题库及答案解析 .pdf
文档评论(0)