zoukankan      html  css  js  c++  java
  • Two 观察者 observer pattern

    Two 观察者

    定义

    在对象之间定义一对多的依赖,当一个对象改变状态,依赖它的对象都会收到通知、并自动更新。

    可以观察者自取,也可以主题去推送

    其实就是设计两个接口。

    相关原则

    为交互对象之前的松耦合设计而努力  
    
    找出并封装变化  
    
    少用继承、多用组合  
    
    针对接口编程、而非实现。
    

    类图

    手记

    封装变化

    封装主题的状态和观察者的数目和类型。

    针对接口,不针对实现

    观察者利用主题的接口向主题注册,主题利用观察者接口通知观察者;松耦合。

    多用组合,少用继承

    利用内部interface类型,将许多观察者组合进主题

    Observer保存对Subject的引用时,取消注册比较方便。

    出版者/主题+订阅者=观察者

    实现方式多种,以包含Subject、Observer接口的类设计的做法最为常见。

    类图:P52

    松耦合的 两者之间依然可以交互,但是不太清楚彼此的细节-->我调你收我通知的方法,不掉用你具体做事情的方法。

  • 相关阅读:
    前端面试题
    Less 中的嵌套规则与 & 符号的使用
    组件的生命周期
    222
    221
    twemproxy代理memcache(3)
    memcache数据迁移与解决方案(2)
    mencache的原理与应用(1)
    yield推荐,理解协程的最佳入口
    上下文管理器的实现
  • 原文地址:https://www.cnblogs.com/mingbai/p/observerPattern.html
Copyright © 2011-2022 走看看