美文网首页程序员的事
设计模式 - 观察者(Observer)模式

设计模式 - 观察者(Observer)模式

作者: coffeecoder | 来源:发表于2016-10-12 06:39 被阅读0次

    本文素材来自《深入浅出设计模式》(<<Head First Design Patterns - A Brain-Friendly Guide>>)

    准备写一个系列,把书中的内容简化提炼,加入自己的心得。希望可以更好的介绍模式。

    定义

    观察者模式定义一种一对多关系。

    主题状态改变时,所有观察者自动获得通知并做出相应改变。

    报纸发行

    读者(观察者)可以随时订阅或取消订阅,订阅后得到每一期报纸。取消订阅后则过自己的生活,不会受到骚扰。

    优点

    主题和观察者低耦合,互相不需要了解。观察者可以动态加入或取消。

    模式生命周期

    生命周期

    实现

    观察者模式通常通过接口(Interface)定义关系。然后主题和观察者可以有各自的实现

    实现

    实际应用

    我们开发大规模系统时,服务器响应时间,流量等性能数据的收集至关重要。性能数据就是一种“主题”。每一个页面点击都会产生“主题数据”。

    框架开发者实现不同的“观察者”,订阅数据用以不同用途。比如日志观察者订阅数据并将之写入日志;指标观察者订阅数据并汇总以产生监控曲线图。

    相关文章

      网友评论

        本文标题:设计模式 - 观察者(Observer)模式

        本文链接:https://www.haomeiwen.com/subject/putiyttx.html