观察者模式 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。比如,当一个对象被修改时,则会自动通知它的依赖对象。观察者模式属于行为型模式。 spring中的监听器就是观察者模式的一种实现方式,当某个动作执行结束以后,发布一个事件,所有订阅该事件的监听器执行自己的逻辑处 ...
分类:
其他好文 时间:
2020-04-01 10:42:33
阅读次数:
66
1 Zookeeper概述 Zookeeper是一个开源的,为分布式应用提供协调服务的项目。 1.1 工作机制 从设计模式角度来看,zookeeper是一个基于观察者模式设计的分布式服务管理框架。负责存储和管理元数据等信息。它接受观察者的注册,一旦数据发生变化,zookeeper会通知这些观察者,并 ...
分类:
其他好文 时间:
2020-03-30 19:20:05
阅读次数:
73
本系列文章由浅入深逐步实现 Promise,并结合流程图、实例以及动画进行演示,达到深刻理解 Promise 用法的目的 ...
分类:
其他好文 时间:
2020-03-30 11:12:37
阅读次数:
71
## 观察者和发布订阅模式的区别 观察者模式和发布订阅模式最大的区别就是发布订阅模式有个事件调度中心。 ### 一、观察者模式(Observer) 观察者模式指的是一个对象(Subject)维持一系列依赖于它的对象(Observer),当有关状态发生变更时 Subject 对象则通知一系列 Obse ...
分类:
其他好文 时间:
2020-03-29 19:50:45
阅读次数:
83
行为设计模式是识别对象之间的通信模式,行为模式涉及对象之间的责任分配,或者,将行为封装在对象中并将请求委托给它,也就是对象之间的关系。 涉及:* 状态模式中介模式* 观察者模式备忘录模式迭代器模式命令模式* 策略模式* 模板模式* 访客模式示例责任链模式 观察者模式 根据GoF定义,observer ...
分类:
其他好文 时间:
2020-03-27 21:43:19
阅读次数:
86
观察者模式,我们有很多其他的方式来称呼它。比如熟悉的发布/订阅模式,回调方式,Listen监听等。 我们看到很多源码中有Observer,Listen,Hook,Callback,基本用到了观察者模式; 话不多说,直接来点代码说明下 首先定义被观察者(抽象的,公有的) public interfac ...
分类:
其他好文 时间:
2020-03-27 13:13:46
阅读次数:
111
vue双向绑定原理的核心 它的实现的核心是通过Object.defineProperty(),对data的每个属性进行了get、set的拦截。 其实只要Object.defineProperty()已经可以实现双向绑定,只是这样做效率非常低。 观察者模式 它在双向绑定当中是什么角色呢? 它其实是让双 ...
分类:
其他好文 时间:
2020-03-27 13:07:20
阅读次数:
78
88. 说一下你熟悉的设计模式? 单例模式:保证被创建一次,节省系统开销。 工厂模式(简单工厂、抽象工厂):解耦代码。 观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。 外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了 ...
分类:
编程语言 时间:
2020-03-27 12:53:26
阅读次数:
67
EventBus是Guava框架对观察者模式的一种实现,使用EventBus可以很简洁的实现事件注册监听和消费。 package com.boot.demo.test.eventbus; import com.google.common.eventbus.EventBus; import com.g ...
分类:
其他好文 时间:
2020-03-27 10:58:03
阅读次数:
82
响应式编程: 关键字:RxJava,观察者模式,EventBus,广播 理念:一切为事件 发出A事件通知B执行,而不是B一直等待(阻塞),提高效率。 函数式编程: 关键字:lambda,lisp,大数据,AI 理念: 1.一切为函数 2.每个函数是可靠的,没有副作用的;不能依赖外部环境/上下文 3. ...
分类:
其他好文 时间:
2020-03-24 21:38:58
阅读次数:
83