国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > JavaScript > 正文

Javascript 模式實(shí)例 中介者模式

2019-11-21 00:37:34
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

問(wèn)題:

  在頁(yè)面上,用戶會(huì)有很多的操作 ,每進(jìn)行一次操作我們需要去展示操作的結(jié)果,在這里我們有了一個(gè)問(wèn)題,我們應(yīng)如何去展示不同的結(jié)果呢?在展示的過(guò)程中我們還要考慮當(dāng)頁(yè)面功能不斷的增加與修改,結(jié)果展示也不斷的增多,我們要用一個(gè)應(yīng)對(duì)這些變化最好的方法解決問(wèn)題。

解決方法:

  在115的網(wǎng)盤(pán)開(kāi)發(fā)中就遇到了這樣的一個(gè)問(wèn)題,經(jīng)過(guò)幾番的思考,決定了用如下的方式去解決這個(gè)問(wèn)題,先看圖:

 

 從圖中我們可以知道,會(huì)使用到一個(gè)中介專門(mén)去接收使用者的信息,再發(fā)送到相應(yīng)的展示主題,這樣我們就可以解決了展示方式不段改變的問(wèn)題,如何去展示就是展示主題代碼問(wèn)題了。

 這個(gè)方法也就是我們平常說(shuō)的中介者模式,如果想了解更多的可以去google或baidu一下中介者模式。

代碼:

  好了,現(xiàn)在我符上一些代碼,如果大家更好的解決方案也可以給我個(gè)評(píng)論。

復(fù)制代碼 代碼如下:

/*
* 中介
**/
var Mediator = function(){
var self = this;
var _messageObj = {};
this.Register = function(key,obj){
//注冊(cè)中介
_messageObj[key] = obj;
},
this.Send = function(key,message){
//根據(jù)客戶Key發(fā)送信息給客戶
if(_messageObj[key]){
_messageObj[key].Receive(message);
}
}
}

/*
* 客戶父類(lèi)
**/
var MessageBase = function(key,mediator){
mediator.Register(key,this); //注冊(cè)中介
}

/*
* 自由主題1
**/
var MessageObj1 = function(key,mediator){
MessageBase.call(this,key,mediator); //繼承父類(lèi)
this.Receive = function(message){
//接收中介消息
alert("Object1 " + message);
}
}

/*
* 自由主題2
**/
var MessageObj2 = function(key,mediator){
MessageBase.call(this,key,mediator); //繼承父類(lèi)
this.Receive = function(message){
//接收中介消息
alert("Object2 " + message);
}
}

var med; //中介者
var init = function(){
//客戶代碼
med = new Mediator();
new MessageObj1("m1",med);
new MessageObj2("m2",med);
};

window.onload = function(){
init();
}

使用方法:
復(fù)制代碼 代碼如下:

<a href="javascript://" onclick="med.Send('m1','Good');">test1</a>
<a href="javascript://" onclick="med.Send('m2','GoodBoy');">test2</a>

演示代碼:

[Ctrl+A 全選 注:如需引入外部Js需刷新才能執(zhí)行]

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 霍林郭勒市| 封丘县| 麻阳| 特克斯县| 饶阳县| 孟连| 舟曲县| 西平县| 柯坪县| 怀远县| 明水县| 盖州市| 长武县| 高陵县| 甘孜县| 临洮县| 农安县| 阜新| 江安县| 平和县| 宜良县| 瓦房店市| 会宁县| 明光市| 南岸区| 尼玛县| 台中县| 土默特右旗| 荥经县| 沁阳市| 武山县| 凤凰县| 中方县| 临汾市| 东乡族自治县| 北海市| 都兰县| 商南县| 西昌市| 濮阳市| 托克托县|