青 岛 理 工 大 学课程实验报告课程名称软件设计与体系结构班级软件 132实验日期2025。06。02姓名田清华学号202507208实验成绩实验名称观察者模式实验实验目的及要求(1)熟悉观察者模式的核心思想;(2)掌握观察者模式解决问题的方法.实验环境Win7, VS2025实验内容1。 定义内部数据列表(1)内部数据列表提供数据;(2)每个数据列表项对应界面表格中的一行。2. 定义界面控件 DataGridview3。 利用观察者模式实现内部存储的数据列表数据发生变化时,自动更新 DataGridview 中的内容.算法描述及实验步骤1.创建 model 类 student2.创建抽象目标类 data3.创建具体目标类 concretedata4.创建观察者类 DataGridview5.类图:调试过程及实验结果总结1.观察者模式可以实现表示层和数据逻辑层的分离,定义了稳定的消息更新传递机制,并抽象了更新接口,是得可以有各种各样不用的表示层充当具体观察者角色。2.在观察者目标和观察者之间建立一个抽象的耦合,观察目标只需要维持一个抽像观察者的集合,无需了解其具体观察者。3.在 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 List studentList = new List〈student〉(); protected ArrayList gridviewList = new ArrayList(); //添加观察者 public abstract void At...