技术开发 频道

深入理解C#的委托和事件:Observer设计模式

  【IT】

  Observer设计模式简介

  上面的例子显然能完成我们之前描述的工作,但是却并不够好。现在假设热水器由三部分组成:热水器、警报器、显示器,它们来自于不同厂商并进行了组装。那么,应该是热水器仅仅负责烧水,它不能发出警报也不能显示水温;在水烧开时由警报器发出警报、显示器显示提示和水温。

  第一篇:深入理解C#中的委托和事件:委托的定义

  第二篇:深入理解C#的委托和事件:将方法绑定到委托

  第三篇:深入理解C#的委托和事件:事件的由来

  这时候,上面的例子就应该变成这个样子:

// 热水器

public class Heater {

private int temperature;

// 烧水

private void BoilWater() {

for (int i = 0; i <= 100; i++) {

temperature
= i;

}

}

}

// 警报器

public class Alarm{

private void MakeAlert(int param) {

Console.WriteLine(
"Alarm:嘀嘀嘀,水已经 {0} 度了:" , param);

}

}

// 显示器

public class Display{

private void ShowMsg(int param) {

Console.WriteLine(
"Display:水已烧开,当前温度:{0}度。" , param);

}

}

 

0
相关文章