欢迎来到天天文库
浏览记录
ID:32592031
大小:74.39 KB
页数:6页
时间:2019-02-13
《06-观察者模式实验》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、青岛理工大学课程实验报告课程名称软件设计与体系结构班级软件132实骑II期2015.06.02姓名田清华学号201307208实验成绩实验名称观察者模式实验实验目的及耍求实验环境实验内容(1)熟悉观察者模式的核心思想;(2)学握观察者模式解决问题的方法。Win7;VS20101.定义内部数据列表(1)内部数据列表提供数据;(2)每个数据列表项对应界面表格中的一行。2.定义界血控件DataGridview3・利用观察者模式实现内部存储的数据列表数据发生变化时,自动更新DataGridview中的内算法描述及实验步骤容。1.创建model类studen
2、t2.创建抽象目标类data3•创建具体目标类concretedata4.创建观察者类DataGridview5.类图:-mme:string■ape:int"sa:stringItaLta.fstndjcxitListHtt&dhi(D&tiGridvieTr)()^Hetach.(DatzLCridViOT)()■FlddStndoit(student)0Hkl£teStudmt(int)0fnotifr00()0t右"da.ti:IlaLtaL"♦ftita&irdview(PzLti)0dit«(Ibta.)0A调试过程及实验结果△tJL
3、■△f述建一^DataGriduiew仓[建—
4、-DataGriduiew给data技通知第丄观察者:数据改变!数据改变!数据改变!小明118jZi鞠第2个观察者:小明118TT通知第丄个观察者:】、明118女明218女通知第2个观察者:】、明118女明218女通知第丄个观察者:】、明118女丿、明218女明318女通知第2个观察者:】、明118女丿、明218女明318给datafflB^遗知第丄个邨/、明218女明318女通知第2个观察者:/、明218女明318女通知第丄个观察者:小明318女i鞠第2个观察者:小明318女通知第2木观察者:数
5、据:数据改变!数据改变!数据改变!数据改变!数据改变!数据改变!数据改变!总结1•观察者模式可以实现表示层和数据逻辑层的分离,定义了稳定的消息更新传递机制,并抽象了更新接口,是得可以有各种各样不用的表示层充当具体观察者角色。2.在观察者目标和观察者之间建立一个抽象的耦合,观察目标只需要维持一个抽像观察者的集合,无需了解其具体观察者。3.在C#中实现Observer模式可以采用更有效的方法一.NET中提供了delegate,委托可以看作是一个稳定的接口(充当抽彖观察者角色)。Student,cs:usingSystem;usingSystem・Col
6、lcctions.Generic;usingSystem・Linq;usingSystem.Text;usingSystem.Threading.Teisks;namcspaccshiyan_6classstudom{privatestringname;privatestringsex;privateintage;publicstudent(stringname,stringsex,intage){this,name=namc;this・sex=sex;this・age=age;}publicstringName{get{returnname;}s
7、et{name=value;}}publicstringSex{get{returnsex;}set{sex=value;}}publicintAge{get{returnage;}set{age=value;}}}}Data,cs:usingSystem;usingSystem.Collections;usingSystem.Collections・Generic;usingSystem・Linq;usingSystem.Text;usingSystem.Threading.Tasks;namespaceshiyan_6{abstractclas
8、sdata{protectedListstudentList=newList();protectedArrayListgridviewList=newArrayList();//添加观察者publicabstractvoidAttach(DataGridviewdataGridview);〃删除观察者publicabstractvoidDatach(DataGridviewdataGridview);publicabstractvoidAddStudcnt(studentstu);publicabstractvo
9、idDeletcStudcnt(intloc);publicabstractvoidDisplay();〃通知方法publ
此文档下载收益归作者所有