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
有这么一段代码经常会出现在代码中 1 var pubsub = (()=>{ 2 var topics = {}; 3 function subscribe(topic,fn){ 4 if(!topics[topic]){ 5 topics[topic] = []; 6 } 7 topics[top ...
分类:
其他好文 时间:
2020-03-24 16:03:57
阅读次数:
74
88. 说一下你熟悉的设计模式? 单例模式:保证被创建一次,节省系统开销。 工厂模式(简单工厂、抽象工厂):解耦代码。 观察者模式:定义了对象之间的一对多的依赖,这样一来,当一个对象改变时,它的所有的依赖者都会收到通知并自动更新。 外观模式:提供一个统一的接口,用来访问子系统中的一群接口,外观定义了 ...
分类:
编程语言 时间:
2020-03-23 00:08:52
阅读次数:
72
发布-订阅模式是什么? 发布-订阅模式又叫做观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变的时候,所有依赖于它的对象都将得到通知。 作为一名JavaScript开发者,我100%相信你已经使用过了这个模式,不信你看如下代码: document.body.addEventLi ...
分类:
编程语言 时间:
2020-03-22 19:54:29
阅读次数:
70
设计模式(Design pattern)`代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。使用设计模式可以帮助我们重用代码,让我们的代码更好的被他人理解。 设计模式可以分为以下几类: 1、创建型模式(Creational Patterns) 这些设计模式提供了一种在创建对象的同时隐藏创 ...
分类:
其他好文 时间:
2020-03-22 01:45:20
阅读次数:
76
前言:当工程师和建筑师决定建造一座桥、一座塔或一栋楼时,他们会遵循一定的原则,确保其结构的完整性,现在已经有很多的可行的桥梁设计方案,根据这些方案来处理实际问题。在软件中也是如此,通过使用不同的设计模式来解决各种普遍性的问题。 观察者模式 首先在了解观察者模式的前提下,需要了解一个模块--abc 可 ...
分类:
其他好文 时间:
2020-03-19 16:37:42
阅读次数:
57
概念 观察者模式(又被称为发布 订阅(Publish/Subscribe)模式,属于行为型模式的一种,它定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。 观察者模式结构图 该模式包含四个角色: 抽象被观察者 ...
分类:
其他好文 时间:
2020-03-18 13:38:06
阅读次数:
62