es6观察者模式实现

原创 2018年04月17日 15:13:32

//es6实现 借助set实现


function obfunction(oldval,newval){
console.log(oldval+'变成了'+newval);
}
class targetObser{
constructor(age,name){
this.age=age;
this.name=name;
}
set name(val){
console.log(name)
obfunction(name,val)
name=val;
}
}

//借助proxy reflect实现

class TargetObj {

    constructor(age, name) {
        this.name = name;
        this.age = age;
    }
}
let targetObj = new TargetObj(1, 'Martin');
let observerProxy = new Proxy(targetObj, {
    set(target, property, value, reciever) {
        if (property === 'name') {
            observer(target[property], value);
        }
        Reflect.set(target, property, value, reciever);
    }
}); // 定义值改变时的处理函数function observer(oldVal, newVal) {    // 其他处理逻辑...    console.info(`name属性的值从 ${oldVal} 改变为 ${newVal}`);}observerProxy.name = 'Lucas';console.info(targetObj);

初学es6写了个观察者模式,请多指教!!!!

/** * Created by richard on 2017/7/19. */ console.log("------------observer观察者模式-------------")...
  • qq_36196162
  • qq_36196162
  • 2017-07-19 10:48:38
  • 142

JavaScript-观察者模式(publish/subscribe)

JavaScript-观察者模式(publish/subscribe)观察者模式又叫做发布订阅模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生改变时就会通...
  • qiqingjin
  • qiqingjin
  • 2016-05-08 14:27:38
  • 6236

自定义事件(观察者模式)

观察者模式由两类对象组成:主体和观察者。主体负责发布事件,同时观察者通过订阅这些事件来观察该主体。该模式的一个关键概念是主体并不知道观察者的任何事情,也就是说它可以独自存在并正常运作即使观察者不存在。...
  • chanda_yang
  • chanda_yang
  • 2016-08-04 19:43:27
  • 518

javascript设计模式 使用ES6语法

参考《javascript设计模式》[美]Addy Osmani一书,下面介绍使用javascript经常会使用的主要设计模式。本博文为ES6语法的博客,还有使用ES5语法的【上】【下】两篇。 主要...
  • future_todo
  • future_todo
  • 2017-01-03 10:26:45
  • 3302

浅谈JavaScript设计模式——观察者模式(发布订阅模式)

观察者模式,又称为发布订阅模式,它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己的状态。   在观察...
  • zhouziyu2011
  • zhouziyu2011
  • 2017-04-02 17:18:22
  • 522

浅析JavaScript设计模式——发布-订阅/观察者模式

观察者模式 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知 前一段时间一直在写CSS3的文章 一直都没写设计模式 今天来写写大名鼎鼎观察者模式 ...
  • q1056843325
  • q1056843325
  • 2016-11-26 18:58:35
  • 6090

原生JavaScript实现观察者模式

什么是观察者模式维基百科对观察者模式的定义如下: 观察者模式是软件设计模式的一种。在此种模式中,一个目标对象管理所有相依于它的观察者对象,并且在它本身的状态改变时主动发出通知。这通常透过呼叫各观察...
  • lm278858445
  • lm278858445
  • 2017-10-19 17:37:17
  • 1311

观察者模式2种用法---结合代理模式实现

在安卓的内容提供者ContentProvider,RxJava都运用到了观察者模式 今天来了解并学习下观察者模式,希望在自己编写代码时候,更多的运用此模式什么是观察者模式呢? 我是这样理解观察者模...
  • u013210620
  • u013210620
  • 2016-09-12 13:35:00
  • 972

观察者模式(C语言实现)

一. 概述 Observer 模式要解决的问题为:建立一个一(Subject)对多(Observer)的依赖关系,并且做到当“一”变化的时候,依赖这个“一”的多也能够同步改变。 Sbuject...
  • HMSIWTV
  • HMSIWTV
  • 2014-09-27 12:31:52
  • 4081

用java代码实现观察者模式

/* 用java代码实现观察者模式, 前台负责观察老板在办公室还是离开并通知大家, 用观察者模式实现这一过程,请实现Guard类。 使最终输出结果为: “老板在办公室”   “前台通知大家:老板离开了...
  • zh521zh
  • zh521zh
  • 2015-11-17 22:29:25
  • 1285
收藏助手
不良信息举报
您举报文章:es6观察者模式实现
举报原因:
原因补充:

(最多只允许输入30个字)