坤坤老师告诉同学们什么是观察者模式
观察者模式
什么是观察者模式?
观察者模式即一个对象被多个对象所依赖,当被依赖的对象发生更新时,会自动通知所有依赖的对象。
例如:微博上的坤坤老师,当坤坤老师在微博发文章时,会自动通知所有的粉丝。
坤坤:坤坤老师发微博了,赶紧来围观啊!
坤坤老师即为目标对象,所有的粉丝即为依赖对象。
代码实现:
首先我们定义一个kk老师的类(目标类)
// 目标类
class Kk {constructor () {// 存储所有的粉丝(粉丝:观察者们)this.fans = []}// 收集粉丝add (fans) {this.fans.push(fans)}// 删除粉丝 (删除观察者)remove (fans) {const index = this.fans.findIndex(item => item === fans)if (index > -1) {console.log('删除粉丝' + fans.name)this.fans.splice(index, 1)}}// 通知所有粉丝,坤坤老师发微博了notify () {for(let observer of this.observers) {observer.update()}}
}
在创建一个粉丝类(观察者类)
// 观察者类
class Fans {constructor (name, age) {this.name = namethis.age = age}// 坤坤老师告诉我他发微博了update () {console.log('坤坤老师告诉我发微博了,我是', this.name)}
}
创建坤坤老师,创建粉丝,坤坤老师收集粉丝并告诉粉丝发微博了
// 创建坤坤老师
const kk = new Kk()// 创建两位粉丝
const fans1 = new Fans('小花', 19)
const fans2 = new Fans('小草', 20)// 坤坤老师收集粉丝
kk.add(fans1)
kk.add(fans2)// 坤坤老师通知粉丝
kk.notify()// 坤坤老师删除粉丝1
kk.remove(fans1)// 坤坤老师通知粉丝
kk.notify()
最后输出:
坤坤老师告诉我发微博了,我是 小花
坤坤老师告诉我发微博了,我是 小草
删除粉丝小花
坤坤老师告诉我发微博了,我是 小草
看完的,点个关注再走呗! 不定时更新前端技术!
坤坤老师告诉同学们什么是观察者模式相关推荐
- C++函数 【鸡】 坤坤带你拿下
大家共勉,一起拿下C++函数 一.函数的本质 函数其实很好理解,他就将一段经常使用的代码封装起来,减少重复. 就像我们用鸡代替我们的偶像,介绍不必要的重复!!! 二. 函数的定义 函数的定义一般主要有 ...
- 学校计算机老师关心学生的作文600字,老师关爱同学的作文十篇
老师关爱同学的作文十篇 篇一:师生的关爱 记得我上小学二年级时,老师和同学的关爱. 早上上学的路上,我要过马路时,忘记看红绿灯了,就直接走了过去,而且还正好赶上红灯.我没看见就直接走了.躲过了一辆辆大 ...
- 微擎自动回复 加粉丝名_如何一天加100个精准粉丝?蒋老师告诉你系统的套路和方法...
如何一天加100个精准粉丝?蒋老师告诉你系统的套路和方法! 不仅仅是100个精准粉丝,还需要把这100个精准粉丝变成种子用户和超级用户:然后100个种子用户裂变成500个精准用户,再变成1000个精准 ...
- 我们是ikun,为坤坤加油(简单的python反序列化、爬虫、越权、支付漏洞)
题目来源:BUUCTF: CISCN2019 华北赛区 在某个深夜,身为ikun的文打开了BUUCTF,想看看有没有同为ikun的朋友,经过简单的搜索,发现竟然真的有ikun出的题目,看到这里身为ik ...
- C语言书写推箱子(坤坤版easyx库)
C语言书写推箱子(坤坤版easyx库) 游戏效果的展示 运用的知识点(必看) 代码的讲解 游戏地图的实现 地图的初始化 地图图片的加载 地图图片的放置 人物和箱子的移动(重点) 游戏结束的判断 音乐的 ...
- Springboot毕设项目坤坤网上商城0573k(java+VUE+Mybatis+Maven+Mysql)
Springboot毕设项目坤坤网上商城0573k(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBui ...
- 纯css实现坤坤经典动作-“铁山靠”
背景 2023年2月16日,晴,今天没有工作,一直在掘金摸鱼,摸的我好累. 不行!我得找点有意义的事情做! 此时间,我发的一条沸点竟然有小黑子给我评论,\ 我看到之后气不打一处来,哥哥这么努力,还有这 ...
- 云开发坤坤鸡乐盒微信小程序源码
云开发坤坤鸡乐盒微信小程序源码是由坤坤铁粉ikun们发布的一款专为ios系统的用户因无法下载软件版坤坤鸡乐盒而开发的小程序版, 源码下载:云开发坤坤鸡乐盒微信小程序源码-小程序文档类资源-CSDN下载
- 2022最新坤坤鸡乐盒微信小程序源码+云开发的
正文: 云开发坤坤鸡乐盒微信小程序源码是由坤坤铁粉ikun们开发的. 因部分ios用户无法体验共举办,特地开发的小程序版鸡乐盒,听说作者也是5年的铁粉. 现在特别火,我也就不多作介绍了,点击就可以发出 ...
最新文章
- MERGE INTO 解决大数据量 10w 更新缓慢的问题
- Docker在Linux上运行NetCore系列(一)配置运行DotNetCore控制台
- datatables 一行数据生成两行_一行代码搞定分组回归
- 使用fyne绘制一个交通图标
- Python 爬虫开发:Ajax请求响应json案例
- Attachment multiple read API - performance with regular expression
- 新功能:阿里云负载均衡支持HTTP/2、WSS协议
- redis 集群环境部署
- python读取pdf表格数据代码_Python新工具:用三行代码提取PDF表格数据
- ABMultiValueCopyLabelAtIndex使用不当引起的内存泄漏
- 机器视觉算法包halcon介绍
- 编写优质嵌入式C程序
- 中国行政区划编码-省市县镇村
- WPS 解决插入尾注后无法添加分节页符
- 最难忘的一节计算机课,作文:最难忘的一节课
- 有限体积法(2)——二维、三维扩散方程的离散推导
- 易语言游戏基址内存数据CEAA自动汇编脚本注入及CALL的调用
- 网技·理论 3.22
- 求对称点的坐标(已知对称轴函数解析式,自用)
- Android实习周记:第一周,井底之蛙上岸
热门文章
- 已创建了一个包含学生学号、身高、性别的学生身高信息表并输出到屏幕,学生信息从records.txt文件读取。 编写一个函数 void reverse(Seqlist *lp); 功能是对已建立的学生身
- 对作业管理系统的总结与期望
- java-php-python-ssm外贸服装订单管理系统计算机毕业设计
- esp8266接入天猫精灵教程,附开源app控制
- 广西单招计算机科学与技术专业,广西单招考什么科目
- uniapp运行基座到电视机调试
- 17 记一次 spark 读取大数据表 OOM OutOfMemoryError: GC overhead limit exceeded
- 【日常Exception】第二十回:SQL 错误 [3185] [HY000]: Can‘t find master key from keyring, please check in the xxx
- 转:所谓美好,就是摆脱了功利之心
- 211硕士 进大厂美团亲身经验分享-面试不算难(学累了进来看看)