7 Observer模式
7.1 概述
Observer模式,就是建立一种机制,使多个对象依赖于某个特定对象,当这个特定的对象改变时,能通知到依赖它的所有对象作出反应。
7.2 设计
这里就有2个问题:一个是这个特定对象如何知道它要通知那些对象,二是如何通知?先来看第一问题:如何知道要通知那些对象?那么就需要对象在生成或需要被通知时,主动告诉这个特定的对象:我是你通知的对象。这个特定对象把它们都“记”起来,到时一个个通知。如何通知呢?就需要被通知的对象公布一个接口,这个特定对象调用这个接口,通知发生改变。但是如果有很多对象需要通知,每个对象各有一个接口,就会导致这个特定对象需要记住很多接口,特麻烦!好在它很聪明,让所有的对象统一接口,否则就不通知它。
7.3 实现
UML图:
示例代码为:
1
using System;
2
using System.Collections ;
3
4
namespace Example
5
2
3
4
5