文档介绍:;学握观察者模式解决问题的方法。Win7;VS2010定义内部数据列表内部数据列表提供数据;每个数据列表项对应界面表格中的一行。定义界血控件DataGridview3・利用观察者模式实现内部存储的数据列表数据发生变化时,自动更新DataGridview中的内算法描述及实验步骤容。创建model类student创建抽象目标类data3•创建具体目标类concretedata创建观察者类DataGridview类图:-mme:string■ape:int"sa:&dhi(D&tiGridvieTr)()^Hetach.(DatzLCridViOT)()■FlddStndoit(student)0Hkl£teStudmt(int)0fnotifr00()0t右":IlaLtaL"♦ftita&irdview(PzLti)0dit«(Ibta.)0A调试过程及实验结果△tJL■△f述建一^DataGriduiew仓[建—|-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木观察者:数据:数据改变!数据改变!数据改变!数据改变!数据改变!数据改变!数据改变!总结1•观察者模式可以实现表示层和数据逻辑层的分离,定义了稳定的消息更新传递机制,并抽象了更新接口,是得可以有各种各样不用的表示层充当具体观察者角色。在观察者目标和观察者之间建立一个抽象的耦合,观察目标只需要维持一个抽像观察者的集合,无需了解其具体观察者。在C#中提供了delegate,委托可以看作是一个稳定的接口(充当抽彖观察者角色)。Student,cs:usingSystem;usingSystem・;usingSystem・Linq;;;shiyan_6classstudom{privatestringname;privatestringsex;privateintage;publicstudent(stringname,stringsex,intage){this,name=namc;this・sex=sex;this・age=age;}publicstringName{get{returnname;}set{name=value;}}publicstringSex{get{returnsex;}set{sex=value;}}publicintAge{get{returna