• 忘掉天地
  • 仿佛也想不起自己
bingliaolongBingliaolong  2020-08-27 07:23 Aet 隐藏边栏 |   抢沙发  5 
文章评分 5 次,平均分 5.0

概述

建立一种对象与对象之间的依赖关系,一个对象发生改变时将自动通知其他对象,其他对象将相应做出反应。在此,发生改变的对象称为观察目标,而被通知的对象称为观察者,一个观察目标可以对应多个观察者,而且这些观察者之间没有相互联系,可以根据需要增加和删除观察者,使得系统更易于扩展。

定义

定义对象间的一种一对多依赖关系,使得每当一个对象状态发生改变时,其相关依赖对象皆得到通知并被自动更新。观察者模式又叫做发布-订阅(Publish/Subscribe)模式、模型-视图(Model/View)模式、源-监听器(Source/Listener)模式或从属者(Dependents)模式

角色

  • Subject: 目标
  • ConcreteSubject: 具体目标
  • Observer: 观察者
  • ConcreteObserver: 具体观察者

场景

  • when an abstraction has two aspects, one dependent on the other
  • when a change to one object requires changing others, and you don't know how many objects need to be changed
  • when an object should be able to notify other objects without making assumptions about who these objects are

实现

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

bingliaolong
Bingliaolong 关注:0    粉丝:0 最后编辑于:2023-06-05
Everything will be better.

发表评论

表情 格式 链接 私密 签到
扫一扫二维码分享