设计模式 ☞ 行为型之观察者模式

1.1 简介

1.1.1 概述

  观察者(Observer)模式的定义:指多个对象间存在一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。这种模式有时又称作发布-订阅模式、模型-视图模式。在现实世界中,许多对象并不是独立存在的,其中一个对象的行为发生改变可能会导致一个或者多个其他对象的行为也发生改变。例如,当我们开车到交叉路口时,遇到红灯会停,遇到绿灯会行。

在这里插入图片描述


1.1.2 优缺点

优点:
 ① 降低了目标与观察者之间的耦合关系,两者之间是抽象耦合关系。符合依赖倒置原则。
 ② 目标与观察者之间建立了一套触发机制。

缺点:
 ① 目标与观察者之间的依赖关系并没有完全解除,而且有可能出现循环引用。
 ② 当观察者对象很多时,通知的发布会花费很多时间,影响程序的效率。





1.2 案例

  小米11的发布会可以说是多方关注,雷布斯在发布会上给小米11定价 3999,有充电器和没有充电器一个价,这波操作对于苹果来说伤害不大侮辱性极强,对于友商来说如何定价很头疼,对于米粉来说买买买。这跟观察者模式很类似,目标动态发生变化时,观察者本身根据目标的变化而进行相应的操作。下图就是观察者模式的结果图。
在这里插入图片描述



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值