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

    Two 观察者

    定义

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

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

    其实就是设计两个接口。

    相关原则

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

    类图

    手记

    封装变化

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

    针对接口,不针对实现

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

    多用组合,少用继承

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

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

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

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

    类图:P52

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

  • 相关阅读:
    [LuoguP1445][LOJ#10202]樱花
    [APIO/CTSC2007]动物园
    [LOJ#10157]皇宫看守
    python3安装crypto出错,及解决方法
    Qt之QuaZip编译-使用教程
    CentOS-NAT模式下(DHCP)联网
    CentOS桌面环境中网卡启动失败
    Linux基础--基础命令
    Linux基础 --1
    python面试题----4
  • 原文地址:https://www.cnblogs.com/mingbai/p/observerPattern.html
Copyright © 2011-2022 走看看