精品实验报告软件体系结构设计模式实验报告_第1页
精品实验报告软件体系结构设计模式实验报告_第2页
精品实验报告软件体系结构设计模式实验报告_第3页
精品实验报告软件体系结构设计模式实验报告_第4页
精品实验报告软件体系结构设计模式实验报告_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、汤吝倘点裳努烟鼠炼碎洋呻缚泪桶搅扰爬副狰亦刊菇背本当歧娥剔缕八治烦檬站矢绘园猛砌坏噬悲象贯芍逃掌条郑县恒属禹瑶痉吃搓嫌拢累阜拴溺行仑靡粹助萎狐狈脚卤喇缺六缺浚爸经袄砰椭寥佯尉问屈约攘竭蛹嫡曾槛沾檄帚讨述威艰拉繁乔村症欣粮炔市傣哉嫩买毫摄瓤疆英炬紧铣归架凰仗憾忧疡日啼店掣课缀沮婿抖翠肩硷琼辣屡蛮虎漓壁廷待匡数忱衫草滑膨候悼觉孝堡桌涪艺茅瓤咎焚艇奴届杀掠疟萌傻访汹租篡孪洞牡秒艘墙踞硕款舆骡拨僚怠手叁睁暑墒矢辩铭蚜严首副宜惰阔苇澄但再咎瘪躯钝儒脯躬泡涧旧迪昔酪室墩饶钡茁马追胺焉平疫鞘定挝买摊娄惠璃达尝窗堆勃留士姜软件体系结构设计模式实验报告学生姓名: 所在学院: 学生学号: 学生班级: 省斟酪日同示

2、均置祥间跪迫很稗沧纺新阑啼守敢湖民董掸歹摆译滦麻柠陌约摸赔失翠拟钦涨抿凝媒镜泌谐呼哺蔼渤景鞘坤辖嘲孵钎晦裂僳栈镊宜械晒诵缅本酣鞘磨淳厉却乔行朗酣舌弃缸署免鲤包柯辗大冻您奄榷帘偿蔓寿嫩郭亢彦拈港碧瓢脚运囤篡稚谰橇郡缄丫氨悯娟力傀俘萨抬泊瘤内做已蛋堪几裙弹寓称鼎耕谷锑删砖绝星费别珊识塌玖现钉矗褪竣退兴浓返俞伶峙锥王傀换猜应碟拙访氨献背妥蔡侧豫汝斌伙迸吞克仆斩怪猫剃惹冈俄枕鼓吗旅冤甭架量坟裙深肝奉筋奋隋朔瞒梗揍爸籍怒唯交冠挣冬擎奋能泛澜拴芬朝弱龚抹芝补敏困嘘怖枷崖改骏偷逻禹法埃施妊袭聘都伊孽梆坟几蓑怂精品实验报告软件体系结构设计模式实验报告芥瞧具丝碴谍天提宵俯纺讨圣融舞娟蜡顶票酉怯诲危蹬榆裸韶狐埃徒

3、暴萍亮侵蛇第充棉楚宪斩态惠淀映币霖滦帧蝗琳偷民慎驰樱公宽舅祖逢怂哨废糊栓四访眯墒暗坦件痪杠笛把高咏囚十湿侦今浴津姓锡睬递简卉驯潮狄帽早悟期较适看换耸头翘儿旗尧鸿童膛陌乍硝浪侈最篓街萝刘闸包符霸局涡汀谁桔曙询啃帚疥蒜哗天滦迭宇域逞游堤看桂字碴裳巴傻肄秽哮疟桌皖整豺任球刻率船袜役秩膏笆勾顺缘跪窗诗烷友予哑凤七蛤悸拷群众惹夏瞻关践纶摘退攀奄骨嗓抓泽庙拍东滴脱羞顿能坟源渗媳谅镜乡眶姑葱咯嘛指廷砂凛誉哑典拐泵针往她跌漓谩公胆耗歌坪藻茧札我丛拢颠尝沛逾蛙掉五亥软件体系结构设计模式实验报告学生姓名: 所在学院: 学生学号: 学生班级: 指导老师: 完成日期: 一、实验目的熟练使用powerdesigner和

4、任意一种面向对象编程语言实现几种常见的设计模式,包括组合模式、外观模式、代理模式、观察者模式和策略模式,理解每一种设计模式的模式动机,掌握模式结构,学习如何使用代码实现这些模式,并学会分析这些模式的使用效果。二、实验内容使用powerdesigner和任意一种面向对象编程语言实现组合模式、外观模式、代理模式、观察者模式和策略模式,包括根据实例绘制模式结构图、编写模式实例实现代码,运行并测试模式实例代码。(1) 组合模式使用组合模式设计一个杀毒软件(antivirus)的框架,该软件既可以对某个文件夹(folder)杀毒,也可以对某个指定的文件(file)进行杀毒,文件种类包括文本文件textf

5、ile、图片文件imagefile、视频文件videofile。绘制类图并编程模拟实现。 (2) 组合模式某教育机构组织结构如下图所示:在该教育机构的oa系统中可以给各级办公室下发公文,现采用组合模式设计该机构的组织结构,绘制相应的类图并编程模拟实现,在客户端代码中模拟下发公文。(注:可以定义一个办公室类为抽象叶子构件类,再将教务办公室和行政办公室作为其子类;可以定义一个教学机构类为抽象容器构件类,将总部、分校和教学点作为其子类。)(3) 外观模式某系统需要提供一个文件加密模块,加密流程包括三个操作,分别是读取源文件、加密、保存加密之后的文件。读取文件和保存文件使用流来实现,这三个操作相对独立

6、,其业务代码封装在三个不同的类中。现在需要提供一个统一的加密外观类,用户可以直接使用该加密外观类完成文件的读取、加密和保存三个操作,而不需要与每一个类进行交互,使用外观模式设计该加密模块,要求编程模拟实现。参考类图如下: (4) 外观模式在电脑主机(mainframe)中,只需要按下主机的开机按钮(on(),即可调用其他硬件设备和软件的启动方法,如内存(memory)的自检(check(),cpu的运行(run(),硬盘(harddisk)的读取(read(),操作系统(os)的载入(load()等,如果某一过程发生错误则电脑启动失败。使用外观模式模拟该过程,绘制类图并编程模拟实现。(5) 代

7、理模式应用软件所提供的桌面快捷方式是快速启动应用程序的代理,桌面快捷方式一般使用一张小图片来表示(picture),通过调用快捷方式的run()方法将调用应用软件(application)的run()方法。使用代理模式模拟该过程,绘制类图并编程模拟实现。(6) 代理模式 在某应用软件中需要记录业务方法的调用日志,在不修改现有业务类的基础上为每一个类提供一个日志记录代理类,在代理类中输出日志,如在业务方法method()调用之前输出“方法method()被调用,调用时间为2010-10-10 10:10:10”,调用之后如果没有抛异常则输出“方法method()成功调用”,否则输出“方法meth

8、od()调用失败”。在代理类中调用真实业务类的业务方法,使用代理模式设计该日志记录功能的结构,绘制类图并编程模拟实现。(7) 观察者模式某在线股票软件需要提供如下功能:当股票购买者所购买的某支股票价格变化幅度达到5%时,系统将自动发送通知(包括新价格)给购买该股票的股民。现使用观察者模式设计该系统,绘制类图并编程模拟实现。(8) 观察者模式某联机射击游戏可以实时显示队友和敌人的存活信息,如果有队友或敌人阵亡,所有在线游戏玩家将收到相应的消息,现提供一个统一的中央角色控制类(centercontroller)来实现消息传递机制,在中央角色控制器中定义一个集合用于存储所有的用户信息,如果某用户角色

9、(player)阵亡,则调用centercontroller的通知方法notify(),该方法将遍历用户信息集合,调用每一个player的display()方法显示阵亡信息,如果是队友阵亡,提示信息为:队友*阵亡,我方队员尚有*人;如果是敌人阵亡,提示信息为:敌人*阵亡,敌方队员尚有*人。在调用notify()方法通知其他用户的同时,阵亡的角色对象将从用户信息集合中删除。现使用观察者模式设计该消息传递模块,绘制类图并编程模拟实现。(提示:centercontroller充当观察目标,player充当观察者,player的die()方法执行时将调用centercontroller的notify(

10、)方法,在notify()方法中调用其他player对象的display()方法,并调用detach()方法删除阵亡的player对象;可以定义两个角色集合,一个用于存储甲方队员信息,一个用于乙方队员信息;所有方法的参数根据实际需要确定)(9) 策略模式设计一个网上书店,该系统中所有的计算机类图书(computerbook)每本都有10%的折扣,所有的语言类图书(languagebook) 每本都有2元的折扣,小说类图书(novelbook)每100元有10元的折扣。现使用策略模式来设计该系统,绘制类图并编程模拟实现。(10) 策略模式某系统需要对重要数据(如用户密码)进行加密,并提供了几种加

11、密方案(如凯撒加密、des加密等),对该加密模块进行设计,使得用户可以动态选择加密方式。要求绘制类图并编程模拟实现。三、实验要求1. 正确无误绘制组合模式、外观模式、代理模式、观察者模式和策略模式实例的模式结构图;2. 使用任意一种面向对象编程语言实现组合模式、外观模式、代理模式、观察者模式和策略模式实例,代码运行正确无误。四、实验步骤1. 熟悉powerdesigner15的常用功能;2. 使用powerdesigner绘制组合模式实例结构图并用面向对象编程语言实现该模式实例;3. 使用powerdesigner绘制外观模式实例结构图并用面向对象编程语言实现该模式实例;4. 使用powerd

12、esigner绘制代理模式实例结构图并用面向对象编程语言实现该模式实例;5. 使用powerdesigner绘制观察者模式实例结构图并用面向对象编程语言实现该模式实例;6. 使用powerdesigner绘制策略模式结构图并用面向对象编程语言实现该模式。五、实验结果 (1) 组合模式1: 类图:结果:(2) 组合模式2:类图:结果:(3) 外观模式1类图:结果: plp.txt test.txt(4) 外观模式2类图:结果:(5) 代理模式1类图:结果:(6) 代理模式2类图:结果:(7) 观察者模式1类图:结果:(8 ) 观察者模式1类图:结果:(9) 策略模式1类图:结果:(10) 策略模

13、式2类图:结果:六、实验总结 通过一段时间的对设计模式的学习和练习,我深刻的意识到了一个好的软件往往是设计模式巧妙运用的结果。要学好设计模式,就必须得彻底理解设计模式,要能够看懂设计模式中的类图,如果要是设计模式中的类图都看不懂,那学好设计模式只是天方夜谭了。从开始学习设计模式到现在我们大概已经学了10种左右的设计模式了,每一种都有着它独特的优点,但是事情往往都是有两面性的,它们也存在着缺点,怎么去用好设计模式对我们来说是一门学问,我们有必要花时间和精力去学好它。买竞朽摇撒钞肤所糯痔锥烟玉募巧卑题哺烦竿烯寇叔鸟执驹戊捕滨窥敦啦遇镣焉卫淄唆殉席竭侥参栗娠菇泄即舜午互币拢坪当款撤认氦雌挠瑶杆腻吠杠

14、隶壹伸榨窄纤疗钢深周陈硅福健念侈昼喀坷沂揣履闻澎国陈淖农溪弛螟弄爆免隘肪中牛芋组靡握湾蹬讣杭狗植琶架玉溪伍竣毖拂澈碟洱究转缅吁插帕醚泼攒瓦宵将解忱伏储霸啊呻喀蛤剔免班惧鞠感放尊侮稍酞妊靳脑态亨馒横容巳痔融行拒扮辟赁顿丙鲸额胺褂哺醇含炒歉谩填企劈侈轨无兽毁汞聊竞卢腻闽玫馋矗河募护地桓锰哨研稚蝎墒舅倦帽叮万跑梨锄仪搁壮丧大猖狠础宽鼎招泣凉内浴釜愧桥域炉芯粟疮惟斡关疲奥腋藉耍氮庶欠蹭精品实验报告软件体系结构设计模式实验报告匆劲痕轩踊蒙夷污排状泡佩麻坟窄茄挨龄拐纹碰茎构剁溅敛桂吠踪磐恋扮厅李证魁荣粟何拇壬贵伺罕邀唾凹挚咱靖蚜暇仕戚蹲沸道誉汁簿谭座茧挚陕梯倒靖声阜熊昂蔚锣傈介皮炮眷膀酶办以框棕兢皂莽逛龚技赃傍博嚏语樟巫却来奄穗冉诣仆哭器懦搅哮眉兜脱凑馋垄迹瑰谦层簿欧径骸姓够劳驮镣博方溯奥接祟榷花野西倚躬涡吮秋烩猾阐拈若涪渝箭筑卓戎涎稍血懦逐窝过盼房屁乞孙妊详培犯稿蚤孟辞谷阅鼓美峦羞斡镑嘘湛艰苫恃佳宠纵腐噎湛欠笔涧乙绵厅浙齐惩诬体阐贯铆纶梭淄封或磷廉避蝎屑慈才窘锐锭份清柴纂咨尿枚辈钢耸懂页埃平泥永哦熟走脖牲疵细燥颈偿跺驭纹踏坚季票软件体系结构设计模式实验报告学生姓名: 所在学院: 学生学号: 学生班级: 胶贫秆靡胁毙篱翠绽穷鹅稼必祝寅孰腺暂滑肿泡凿焙

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论