当前位置: 首页 > news >正文

西安网站的设计说明做网站的服务器还需要空间吗

西安网站的设计说明,做网站的服务器还需要空间吗,公众号怎么发布,怎样做网站漂浮观察者模式 观察者模式又被称为发布-订阅模式,使用一个对象来收集订阅者,在发布时遍历所有订阅者,然后将信息传递给订阅者,可以这样来实现一个简单的模式 const Observable (function () {let __messages {}return {register:…

观察者模式

观察者模式又被称为发布-订阅模式,使用一个对象来收集订阅者,在发布时遍历所有订阅者,然后将信息传递给订阅者,可以这样来实现一个简单的模式

const Observable = (function () {let __messages = {}return {register: function (type, fn) {if (typeof __messages[type] === 'undefined') {__messages[type] = [fn]} else {__messages[type].push(fn)}},fire: function (type, args = {}) {if (__messages[type] === undefined) {return}let events = {type,args}__messages[type].forEach(fn => {fn.call(this, events)})},remove: function (type, fn) {if (__messages[type] instanceof Array) {let index = __messages[type].indexOf(fn)if (index >= 0) {__messages[type].splice(index, 1)}}}}
})()const fn = function (e) {console.log(e.type,e.args.msg)
}
Observable.register('test', fn)
Observable.remove('test',fn)
Observable.register('test', function (e) {console.log(e.type,e.args.msg,2122)
})Observable.fire('test', { msg: 'hello world' }) // test hello world 2122

案例

假使有一个学生跟老师的互动


// 学生类
const Student = function (result) {this.result = resultthis.say =  ()=> {console.log(this.result)}
}// 学生回答问题
Student.prototype.answer = function (que) {// 注册事件Observable.register(que, this.say)
}Student.prototype.sleep = function (que) {console.log(this.result + ' ' + que + '被注销')Observable.remove(que, this.say)
}// 老师类
const Teacher = function () {
}
Teacher.prototype.ask = function (que) {console.log('老师提问:' + que)Observable.fire(que)
}let stu1 = new Student('学生1回答问题')
let stu2 = new Student('学生2回答问题')
let tea = new Teacher()
stu1.answer('1+1等于多少')
stu1.answer('2+2等于多少')
stu2.answer('1+1等于多少')
stu2.answer('2+2等于多少')
stu2.sleep('1+1等于多少')
tea.ask('1+1等于多少')
tea.ask('2+2等于多少')

输出

/*
学生2回答问题 1+1等于多少被注销
老师提问:1+1等于多少
学生1回答问题
老师提问:2+2等于多少
学生1回答问题
学生2回答问题*/

结论

通过观察者模式可以团队开发中模块间通讯问题

解耦两个相互依赖的对象,使其侧重依赖于观察者的消息机制。这样对于任意一个订阅者对象来说,其他订阅者对象的改变不会影响到自身。对于每一个订阅者来说,其自与既可以是消息的发出者也可以是消息的执行者,这都依赖于调用观察者对象的三种方法(订消息,注销消息,发布消息)中的哪一种

http://www.yayakq.cn/news/642662/

相关文章:

  • 沈阳做网站的设计公司产品展示网站建设
  • 外贸多语言网站免费源码seo优化推广软件
  • 做调查的有哪些网站有哪些wordpress早期版本
  • 深圳品牌网站推广一个公司可以做几个百度推广
  • 二度云自助建站系统西安营销型网站
  • 苏州专业做网站较好的公司百度收录不了网站吗
  • 网站建设客源在哪里找北京好的网站设计公司
  • 想卖产品怎么推广宣传上海优化排名蓝天seo
  • 公司的网站如何建设wordpress jquery插件开发
  • 农产品电商网站建设主要工作可以购买网站空间的网站
  • 建站网站多少钱有什么免费开发网站建设软件有哪些
  • 怎么在百度上创建网站myfriv wordpress
  • 金融企业网站整站源码做网站开公司
  • php网站开发成都房地产开发商排名
  • 设计网站推荐素材网站广州网站建设:
  • 不同域名一样的网站怎么干电商创业从零开始
  • 海淀做网站个旧网站建设
  • 怎么写网站头部和尾部制作游戏编辑器app
  • 购物网站模板站flash布局网站
  • 团购火锅自助网站建设沈阳企业定制网站建设
  • asp网站源码使用黑龙江能建公司官网
  • 做电影网站前途建网站外包
  • 山西省建设厅招标网站首页网站建设 小白
  • 东莞网站推广哪些抄底券网站怎么做的
  • seo网站建设及扩词网站规划与建设与安全管理
  • 中山网站建设的价格优书网下载
  • 建设部网站一级建造师报名做二手网站好的名字
  • wordpress刷赞网站源码如何免费制作网站?
  • 头条站长平台汕头网站制作电话
  • 河南省住建局官方网站永久打开本网站的