观察者模式实验报告总结_第1页
观察者模式实验报告总结_第2页
观察者模式实验报告总结_第3页
观察者模式实验报告总结_第4页
观察者模式实验报告总结_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

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

文档简介

1/13观察者模式实验报告总结软件设计与体系结构实验报告实验名称观察者模式案例转载于海达范文网观察者模式实验报告总结洛阳师范学院信息技术学院软件实验报告专业软件工程课程设计模式学号101164028姓名陈亚平班级10软件工程实验报告课程名称实验项目姓名专业班2/13级学号设计模式观察者模式李晨曦计算机科学与技术计算机1011004010120计算机科学与技术学院实验教学中心2016年07月2日实验项目名称观察者模式一、实验目的熟悉并学会使用观察者模式编写程序。二、实验内容分别设计一个文档类和一个视图类,并将这两个类进行关联。文档类的对象在视图类的对象中显示出来,当文档对象发生变化时要及时通知视图类对象,以便视图类对象能3/13及时将文档对象正确显示出来。提示用JAVA三、实验步骤按照要求编写程序四、实验结果五、程序代码INCLUDEINCLUDEINCLUDEINCLUDEUSINGNAMESPACESTDCLASSSHITUSTRUCTSHITU_LISTENERSHITU_LISTENERVIRTUALSHITU_LISTENERVIRTUALVOIDSHITU_CLICKEDSHITUBTN0CLASSSHITUPRIVATEVECTORLISTENERS4/13TYPEDEFVECTORITERATORBIT_TYPESTRINGNAMEPUBLICSTRINGGET_NAMERETURNNAMESHITUSTRINGNNAMENSHITUVOIDADD_SHITU_LISTENERSHITU_LISTENERBLS_BACKBLSVOIDREMOVE_SHITU_LISTENERSHITU_LISTENERBLSREMOVE,BLS,VOIDRUNFORBIT_TYPEITITITSHITU_LISTENERBLSITBLSSHITU_CLICKEDTHISCLASSWENDANGPUBLICSHITU_LISTENERPRIVATE5/13INTIPUBLICWENDANGINTIIIIIVOIDSHITU_CLICKEDSHITUBTNCOUTCOUTGET_NAMEINTMAINSHITUBTNNEWSHITU“视图内容”SHITU_LISTENERBLS1NEWWENDANG1SHITU_LISTENERBLS2NEWWENDANG2SHITU_LISTENERBLS3NEWWENDANG3BTNADD_SHITU_LISTENERBLS1BTNADD_SHITU_LISTENERBLS2BTNADD_SHITU_LISTENERBLS3BTNRUNBTNREMOVE_SHITU_LISTENERBLS1DELETEBTNDELETEBLS1DELETEBLS2RETURN0实验报告6/13课程名称实验项目观察者模式与装饰模式的应用实验仪器PC个人终端系别计算机学院专业软件工程班级/学号软工1302/2016011342学生姓名阮翀实验日期20161012成绩指导教师张志华实验二观察者模式与装饰模式的应用7/13一、实验目的通过该实验,理解观察者模式和装饰模式的意图、结构,在软件开发中使用这些模式并进行功能验证。二、实验内容1猫、狗与老鼠。假设猫是老鼠和狗的观察目标,老鼠和狗是观察者,猫叫老鼠跑,狗也跟着叫,使用观察者模式描述该过程。2我跟妈妈说“妈妈,我和妹妹在院子里玩。饭做好了叫我们一声。”请用观察者模式设计一个模拟系统。3采用装饰模式为图书馆中的项目增加“可借”功能。使用JAVA语言设计一个模拟系统。4自定义JBUTTON。开发人员设计用户接口时,通常需要更多有特色的控件,DECORATOR模式就提供了一个方法去创造或修改现有的UI控件。使用装饰模式实现一个带有对角线的按钮。8/13三、实验步骤与要求1对于以上题目要认真分析和理解题意,在观察者模式和装饰模式题目中各选1个进行编程,程序中要求使用相应的模式。2上机录入,使用JDK编译器调试、运行、验证程序。3请指导教师审查程序和运行结果并评定成绩;4撰写并上交实验报告。四、实验原理在许多设计中,经常涉及到多个对象都对一个特殊对象中的数据变化感兴趣,而且这多个对象都希望跟踪那个特殊对象中的数据变化,此时可以采用观察者模式。观察者模式意图“定义对象间的一种一对多的依赖关系,当一个对象的状态发生变化时,所有依赖于它的对象都得到通知并被自动更新。”9/13观察者模式的UML类图装饰模式是动态地扩展一个对象的功能,而不需要改变原始类代码的一种成熟模式。装饰模式意图“动态地给对象添加一些额外的职责。就功能来说装饰模式相比生成子类更为灵活。”装饰模式的UML类图五、上机报告内容1、班级、学号、姓名、实验完成日期;2、实验题目;3、设计方案给出你的设计方案,包括结构类图及相关说明;4、源代码设计方案中各个类和接口的源代码,包括测试主类的源代码5、测试数据及运行结果10/136、总结1)运用设计模式总结对所运用的设计模式的名称,分类,意图,结构,角色作用的总结,所运用的面向对象设计原则。2)选择一个题目进行说明如果不使用观察者模式和装饰模式,你能想到其他方法解决问题吗,简要描述你的方案,并和采用命令模式的方案做简单比较。3)本次实验遇到的问题、如何解决的;本次实验的经验、体会、改进设想等。六、实验成绩考核方法11/13实验成绩由出勤、实验完成情况以及实验报告综合评定。考核成绩比例分配出勤占15、实验完成情况占50、实验报告占35七、上机安排本实验共需2个学时。观察者模式PUBLICINTERFACESUBJECTPUBLICVOIDADDOBSERVEROBSERVEROPUBLICVOIDDELETEOBSERVEROBSERVEROPUBLICVOIDNOTIFYOBSERVERSPUBLICINTERFACEOBSERVERPUBLICVOIDSAYHISTRINGHEARDMESS12/13PUBLICCLASSMOUSEIMPLEMENTSOBSERVERPUBLICSUBJECTSUBJECTPUBLICCLASSDOGIMPLEMENTSOBSERVERPUBLICVOIDSAYHISTRINGHEARDMESS“我是观察者狗,犬吠”PUBLICDOGSUBJECTSUBJECTSUBJECTTHISPUBLICSUBJECTSUBJECTPUBLICMOUSESUBJECTSUBJECTPUBLICVOIDSAYHISTRINGHEARDMESS“我是观察者老鼠,吱吱吱,我跑了。“SUBJECTTHISIMPORTPUBLICCLASSCATIMPLEMENTSSUBJECTSTRINGMESSBOOLEANCHANGEDARRAYLISTANIMALSLIST13/13PUBLICCATPUBLICVOIDADDOBSERVEROBSERVEROOVERRIDEPUBLICVOIDDELETEOBSERVEROBSERVEROOVERRIDEPUBLICVOIDNOTIFYOBSERVERSFORINTI0IMESS“HI”CHANGEDFALSEPUBLICCLASSAPPLICATIONPUBLI

温馨提示

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

评论

0/150

提交评论