您的问题似乎不完整,您是想询问关于C语言编程的某个具体问题吗?比如C语言的语法、编程技巧、项目开发等。请提供更具体的信息,这样我才能给出更准确的回答。
- 内容介绍
- 文章标签
- 相关推荐
本文共计1040个文字,预计阅读时间需要5分钟。
在观察者模式中,有两个关键要素:一个是被观察对象,另一个是观察者。被观察对象的任何状态变化都会通知观察者。例如,将阅读报纸的人看作是观察者,而报纸则是被观察对象。每当报纸的内容发生变化时,阅读报纸的人就会知道。
在观察者模式中有2个要素:一个是被观察对象,另一个是观察者。但被观察对象的状态发生改变会通知观察者。
举例:把订阅报纸的人看作是观察者,把报纸看作被观察对象。每当有新的新闻就要通知订阅报纸的人。本篇分别用实现接口和使用委托事件的方式来实现。
通过实现接口实现
观察者接口,把接收到的新闻显示出来。
public interface IObserver { void Update(string news); }
被观察对象接口,提供3个方法:注册观察者,取消观察者,通知观察者。
public interface ISubject { void RegisteerObserver(IObserver o); void RemoveObserver(IObserver o); void NotifyObservers(); }
被观察对象实现类,维护着一个观察者接口的集合,对观察者的注册和取消实际上是往这个集合添加或移除数据。
本文共计1040个文字,预计阅读时间需要5分钟。
在观察者模式中,有两个关键要素:一个是被观察对象,另一个是观察者。被观察对象的任何状态变化都会通知观察者。例如,将阅读报纸的人看作是观察者,而报纸则是被观察对象。每当报纸的内容发生变化时,阅读报纸的人就会知道。
在观察者模式中有2个要素:一个是被观察对象,另一个是观察者。但被观察对象的状态发生改变会通知观察者。
举例:把订阅报纸的人看作是观察者,把报纸看作被观察对象。每当有新的新闻就要通知订阅报纸的人。本篇分别用实现接口和使用委托事件的方式来实现。
通过实现接口实现
观察者接口,把接收到的新闻显示出来。
public interface IObserver { void Update(string news); }
被观察对象接口,提供3个方法:注册观察者,取消观察者,通知观察者。
public interface ISubject { void RegisteerObserver(IObserver o); void RemoveObserver(IObserver o); void NotifyObservers(); }
被观察对象实现类,维护着一个观察者接口的集合,对观察者的注册和取消实际上是往这个集合添加或移除数据。

