Observer设计模式
1、警报器和显示器告诉热水器,它对它的温度感兴趣(注册)。
2、热水器知道后保留对警报器和热水器的引用。
3、热水器进行烧水这一动作,当水温超过度时,通过对警报器和显示器的引用,自动调用警报器和显示器对应的方法。
4、委托声明原型中的Object类型的参数代表了Subject,也就是监视对象,即本例的热水器。回调函数(比如Alarm的MakeAlert)可以通过它访问触发事件的对象(Heater).
5、EventArgs对象包含了Observer所感兴趣的数据,在本例中是temperature.
本文介绍了一个使用C#实现的观察者模式案例。通过热水器、警报器和显示器三个类展示了如何利用委托和事件来实现对象间的松耦合通信。热水器作为被观察对象,警报器和显示器作为观察者,当热水器的温度变化达到阈值时,会自动通知已注册的观察者。
1117

被折叠的 条评论
为什么被折叠?



