观察者模式C#实现实例(一)

时间:2022-11-28 19:49:39

1.用例情景

  1)定义一个闹钟(目标类),里面我们感兴趣的是时间值times,当times大于9.15时,通知观察者。

  2)定义两个观察者,userA,userB,当收到times值时,作出判断,当times值大于9.30的时候就作出反映(打印一天出发的消息)。

2.设计思路

  1)定义两个接口

  2)第一个接口命名为IsubToClock,封装如下方法:

     1)添加观察者的方法(addObser)

     2)删除观察者的方法(removeObser)

     3)通知观察者的方法(notifyObser)

    第二个接口命名为Iobser,封装如下方法:

     1)用于作出反映的更新方法(当times值大于9.30的时候就作出反映),update方法

3.关键点

  1)使用神奇的this