[置顶] 设计模式之观察者模式(Observer Pattern)

  • 设计模式之观察者模式(Observer Pattern)
  • 代码下载
  • 1.概念
    定义对象间的一种一对多的依赖关系,以便当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并自动刷新。
    2.模型图
    场景1:
    狗叫,主人醒,猫叫
    观察者:主人,猫;
    被观察者:狗
    狗叫主动通知:主人,猫。
    扩展点:观察者可扩展。


[置顶] 设计模式之观察者模式(Observer Pattern)_第1张图片

  • 场景2:
    观察者:主人,猫;
    被观察者:狗
    狗叫主动通知:主人,猫。
    扩展点:观察者,被观察者都可扩展,把狗叫抽象出来,扩展为其他叫,也通知。

[置顶] 设计模式之观察者模式(Observer Pattern)_第2张图片

  • 场景3:
    狗叫,主人醒,猫叫,老鼠跑
    观察者:主人醒,猫叫,老鼠跑等.
    被观察者:狗
    扩展点:观察者可扩展,被观察者都可扩展。狗(或其他叫)可能惊醒很多动物动作。

[置顶] 设计模式之观察者模式(Observer Pattern)_第3张图片

总结:场景1,场景2,是被观察者主动通知模式,场景3是观察者订阅模式。

3.实际应用

[置顶] 设计模式之观察者模式(Observer Pattern)_第4张图片

点击一个窗体按钮,其他窗体各自干各自的事情。

[置顶] 设计模式之观察者模式(Observer Pattern)_第5张图片

代码下载

 

 


 

你可能感兴趣的:(设计模式,扩展)