前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >设计模式 ☞ 行为型之观察者模式

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

作者头像
Demo_Null
发布2021-01-14 10:49:17
2950
发布2021-01-14 10:49:17
举报
文章被收录于专栏:Java 学习Java 学习

1.1 简介

1.1.1 概述

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

在这里插入图片描述
在这里插入图片描述

1.1.2 优缺点

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

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

1.2 案例

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

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.1 简介
    • 1.1.1 概述
      • 1.1.2 优缺点
      • 1.2 案例
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档