C#设计模式_观察者模式_热水器
相关知识:
C#委托_基本语法
C#委托与事件
观察者模式
由事件的特性引发出了—种设计模式-观察者设计模式,该设计 模式是为了定义对象间的—种—对多的依赖关系,以便于当—个 对象的状态改变时,其他依赖它的对象会被自动告知并更新,该设 计模式包含以下两个类:
被监视对象:它往往包含其他对象所感兴趣的内容;
监视者:用来监视被监视对象,当被监视对象触发事件时,监视者 能自动接收事件.
以热水器烧水为列,当温度达到95度以上时,液晶显示器来显 示当前的温度,报警器会报警:
被监视对象:热水器的温度,当烧水的温度达到95度时,会触 发事件,发送给液晶显示器和报警器;
监视者:液晶显示器和报警器,自动接收事件;
代码示例:
加热器:
class Heater//加热器
{
//定义委托
public delegate void TemperatureDelegate(int temp);
//声明事件变量,用于传递温度信息
public event TemperatureDelegate MySender;
//定义温度变量
int temperature;
//定义水温加热方法
public void WaterHeater()
{
temperature +=