您的位置:首页 > 其它

《Head.First设计模式》的学习笔记(3)--观察者模式

2008-03-24 15:22 309 查看
意图:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时, 所有依赖于它的对象都得到通知并被自动更新。

结构:

public void MeasurementsChanged()

2public class WeatherData : ISubject

2 {

3 private float temperature;

4 private float humidity;

5 private float pressure;

6 private List<IObserver> myList = new List<IObserver>();

7

8 public void SetWeatherData(float paramTemp, float paramHumidity, float paramPressure)

9 {

10 this.temperature = paramTemp;

11 this.humidity = paramHumidity;

12 this.pressure = paramPressure;

13 MeasurementsChanged();

14 }

15

16 public void MeasurementsChanged()

17 {

18 this.NotifyObservers();

19 }

20

21 public void RegisterObserver(IObserver paramIObserver)

22 {

23 myList.Add(paramIObserver);

24 }

25

26 public void RemoveObserver(IObserver paramIObserver)

27 {

28 myList.Remove(paramIObserver);

29 }

30

31 public void NotifyObservers()

32 {

33 foreach (IObserver observer in myList)

34 {

35 observer.Update(temperature, humidity, pressure);

36 }

37 }

38 }
源代码下载:/Files/wxj1020/WeatherStation.rar
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: