作用:
通过一个公共的对象,去处理不同对象之间的消息传递。
就好比两个用户用微信聊天,微信就是中介者,负责两个人消息的接收与分发。
示例:
const Weixin = {msgList:[],//添加用户addUser(user){this.msgList.push(user)},//转发消息transmit(msgId,msg,name){this.msgList.find(item=>item.name === name).getMsg(msgId,msg,name)}}class User{constructor(name){this.name = name//下载微信this.weixin = Weixin//注册微信this.weixin.addUser(this)}//发送消息sendMsg(msgId,msg){this.weixin.transmit(msgId,msg,this.name)}//接受消息getMsg(msgId,msg,name){console.log(`消息号:${msgId}------内容:${name}:${msg}`)}}//构建微信用户const wjt = new User('王惊涛')const xiaoma = new User('小马')wjt.sendMsg('wjtmsg1','做我对象吧')xiaoma.sendMsg('xiaomamsg1','好的,狗子')wjt.sendMsg('wjtmsg2','我不是狗子')xiaoma.sendMsg('xiaomamsg2','不,你就是')//先构建两个实例对象,构建实例对象的时候,就直接给两个人注册了微信//微信作为交流的媒介可以存储和转发收到的消息//wjt发送的消息被微信进行了转发,显示在了公屏上//mashi发送的消息也同样如此