js设计模式——8.中介者模式
js设计模式——8.中介者模式
/*js设计模式——中介者模式*/class A {constructor() {this.number = 0;}setNumber(num, m) {this.number = num;if (m) {m.setB();}}
}class B {constructor() {this.number = 0;}setNumber(num, m) {this.number = num;if (m) {m.setA();}}
}// 中介者
class MediatorDome {constructor(a, b) {this.a = a;this.b = b;}setB() {let number = this.a.number;this.b.setNumber(number * 100);}setA() {let number = this.b.number;this.b.setNumber(number / 100);}
}// 测试
let a = new A();
let b = new B();
let m = new MediatorDome(a, b);
a.setNumber(100, m);
console.log(a.number, b.number);
a.setNumber(100, m);
console.log(a.number, b.number);
转载于:https://www.cnblogs.com/hpx2020/p/10731112.html
js设计模式——8.中介者模式相关推荐
- js中的设计模式之中介者模式
Js中的中介者模式 定义 定义一个中介者对象来封装一系列对象的交互,把一批原来交互关系复杂的对象转换成一组松散耦合的对象,使他们变得易于维护和修改. 详细描述 在我们开发中经常会将对象拆分为更小的颗粒 ...
- 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern)
[索引页] [源码下载] 乐在其中设计模式(C#) - 中介者模式(Mediator Pattern) 作者:webabcd 介绍 用一个中介对象来封装一系列的对象交互.中介者使各对象不需要显式地相互 ...
- 设计模式(中介者模式-对象去耦)
声明:本系列文章内容摘自<iOS设计模式> 中介者模式 用一个对象来封装一系列对象的交互方式.中介者使个对象不需要显式地相互调用,从而使其耦合松散,而且可以独立地改变它们之间的交互. 何时 ...
- Java设计模式之中介者模式(UML类图分析+代码详解)
大家好,我是一名在算法之路上不断前进的小小程序猿!体会算法之美,领悟算法的智慧~ 希望各位博友走过路过可以给我点个免费的赞,你们的支持是我不断前进的动力!! 加油吧!未来可期!! 本文将介绍java设 ...
- 软件设计模式之中介者模式实验
软件设计模式之中介者模式实验 一.实验目的 掌握软件设计模式中的中介者模式,能够用中介者模式编写程序,解决实际问题. 二.实验内容与要求 内容:有个租房中介为房主和租赁人提供租房服务,请用中介者模式对 ...
- 走穿java23种设计模式--18中介者模式详解
走穿java23种设计模式–18中介者模式详解 中介者模式也称调停者模式,是一种比较简单的模式. 一.中介者模式的现实场景 蔡良因为上次表白时对方只看重他的物质方面,所以他对女朋友这个问题有点失望.因 ...
- 设计模式之中介者模式(Mediator)摘录
23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...
- 设计模式复习-中介者模式
#pragma once #include "stdafx.h" #include<map> #include<set> #include<strin ...
- 【设计模式】中介者模式 ( 简介 | 适用场景 | 优缺点 | 代码示例 )
文章目录 一.中介者模式简介 二.中介者模式适用场景 三.中介者模式优缺点 四.中介者模式 与 观察者模式 五.中介者模式 代码示例 1.聊天室 2.用户 3.运行实例 一.中介者模式简介 中介者模式 ...
- 再起航,我的学习笔记之JavaScript设计模式23(中介者模式)
中介者模式 概念介绍 中介者模式(Mediator):通过中介者对象封装一系列对象之间的交互,使对象之间不再相互引用降低他们之间的耦合,有时中介者对象也可以改变对象之间的交互. 创建一个中介 中介者模 ...
最新文章
- 程序员怎么赚更多的钱_自由职业技巧:如何感到更加自信和赚更多钱
- R语言计算回归模型每个样本(观察、observation、sample)的DFBETAS值实战:每一个样本对给定系数的估计有多大的影响
- struts2 jquery ajax 局部刷新遇到的各种问题
- Angular 下的 directive (part 2)
- 详解void 0与undefined区别
- 误落迷宫2(BFS)
- [iPhone开发]UIWebview 嵌入 UITableview
- ie11加载java插件_IE浏览器中ActiveX插件的使用
- php制作学生卡片,PHP基础案例一:展示学生资料卡
- 关于如何收集,标准化和集中化处理Golang日志的一些建议
- 误区30日谈21-24
- 如何使用libxml2库[转]
- JavaScript中的流程控制
- 实验三 函数的最值与导数
- 读Zepto源码之Touch模块
- php命令行路径,命令行 – PHP命令行php.ini路径错误
- 卸载网易邮箱大师邮件从服务器删除,如何卸载网易邮箱大师 网易邮箱大师卸载教程...
- 研究:多因素影响粮食安全 应早做规划避免粮食短缺
- 百度前端技术体系——百度EFE(Excellent FrontEnd)技术体系
- 带你玩东方外传系列一 ~ 十游戏链接