- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
06-观察者模式实验
青 岛 理 工 大 学
课程实验报告
课程名称 软件设计与体系结构 班级 软件132 实验日期 2015.06.02 姓名 田清华 学号 201307208 实验成绩 实验名称 观察者模式实验 实验目的
及要求 (1)熟悉观察者模式的核心思想;
(2)掌握观察者模式解决问题的方法。 实验环境 Win7, VS2010 实验内容 1. 定义内部数据列表
(1)内部数据列表提供数据;
每个数据列表项对应界面表格中的一行。
2. 定义界面控件DataGridview
3. 利用观察者模式实现内部存储的数据列表数据发生变化时,自动更新DataGridview中的内容。 算法描述及实验步骤 创建model类student
创建抽象目标类data
创建具体目标类concretedata
创建观察者类DataGridview
类图:
调试过程及实验结果 总结 观察者模式可以实现表示层和数据逻辑层的分离,定义了稳定的消息更新传递机制,并抽象了更新接口,是得可以有各种各样不用的表示层充当具体观察者角色。
在观察者目标和观察者之间建立一个抽象的耦合,观察目标只需要维持一个抽像观察者的集合,无需了解其具体观察者。
在C#中实现Observer模式可以采用更有效的方法----.NET中提供了delegate,委托可以看作是一个稳定的接口(充当抽象观察者角色)。
附
录
Student.cs:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace shiyan_6
{
class student
{
private string name;
private string sex;
private int age;
public student(string name,string sex,int age)
{
this.name = name;
this.sex = sex;
this.age = age;
}
public string Name
{
get { return name; }
set { name = value; }
}
public string Sex
{
get { return sex; }
set { sex = value; }
}
public int Age
{
get { return age; }
set { age = value; }
}
}
}
Data.cs:
using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace shiyan_6
{
abstract class data
{
protected Liststudent studentList = new Liststudent();
protected ArrayList gridviewList = new ArrayList();
//添加观察者
public abstract void Attach(DataGridview dataGridview);
//删除观察者
public abstract void Datach(DataGridview dataGridview);
public abstract void AddStudent(student stu);
public abstract void DeleteStudent(int loc);
public abstract void Display()
您可能关注的文档
最近下载
- 2024年社会工作者(中级)《社会工作实务》思维导图.pdf VIP
- 尼康(Nikon)AF-S NIKKOR 500mm f 5.6E PF ED VR 说明书用户手册.pdf VIP
- 中级社会工作考试《综合能力》思维导图.pdf VIP
- 2025年全国《考评员》资格证考试题库与答案.docx
- 施工设备进场报验单.docx VIP
- 西藏阿里地区事业单位招聘考试(职业能力倾向测验)题库带答案.docx VIP
- 食材验收标准及流程.docx VIP
- KEYENCE基恩士DL-RS1A 用户手册 (IV2).pdf
- 艺术培训员工培训.pptx VIP
- 2025年贵州省贵阳市公安辅警招聘知识考试题库及答案.docx VIP
文档评论(0)