天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Javascript 模式實例 觀察者模式

在園里有許多牛人都已經(jīng)寫過這些文章,不過大多的例子都是.NET,今天我要舉一個JS的使用實例.有興趣的朋友可以先了解一下一些牛人的,比如李會軍大哥設(shè)計模式篇中觀察者的那一節(jié)
http://www.cnblogs.com/Terrylee/archive/2006/10/23/Observer_Pattern.html
說說我自己對這模式的理解,其思想核心是:每個被觀察對象都依據(jù)對象數(shù)據(jù)的改變而改變,被觀察對象一定要有同樣的改變行為來約束,這個約束是被觀察對象提供給觀察器的統(tǒng)一接口。觀察器會開發(fā)改變數(shù)據(jù)的行為。

JS是弱類型的腳本,很多東西都要約定的,不象.NET會有接口的約束,廢話不多說,我們直接看實例:
觀察者實例
復(fù)制代碼 代碼如下:
var ObserverObj = { /**//*依賴對象*/
FirstName: "Max",
LastName: "Gan",
Id: 1
}
var ObserverManager = { /**//*觀察器*/
Observers:[], /**//*觀察對象集*/
AddObserver: function(item){/**//*加入觀察對象*/
this.Observers.push(item);
},
Change: function(obj){ /**//*改變對象行為*/
for(var item in obj){
ObserverObj[item] = obj[item];
}//改變數(shù)據(jù)依賴對象數(shù)據(jù)
for(var i = 0,len = this.Observers.length; i < len; i++){
var item = this.Observers[i];
item.Display(); //對象改變后,改變觀察對象的行為Display; 為統(tǒng)一的接口
}
}
}
var Header = function(){ /**//*觀察對象Header*/
this.Display = function(){
alert(ObserverObj.FirstName);
}
}
var Content = function(){ /**//*觀察對象Content*/
this.Display = function(){
alert(ObserverObj.LastName);
}
}
var Foot = function(){ /**//*觀察對象Foot*/
this.Display = function(){
alert(ObserverObj.Id);
}
}

上面的例子ObserverManager只提供了綁定的方法(AddObserver),其他的什么取消綁定啊之類的代碼技巧,可能大家想一下就知道了.其實這些代碼的最終目的就是當(dāng)改變了Observers數(shù)據(jù),其他的被對象也會根據(jù)數(shù)據(jù)的改變作出相應(yīng)的回應(yīng).OK,現(xiàn)在我們把他們綁定一下.
復(fù)制代碼 代碼如下:
/***綁定觀察器動作***/
ObserverManager.AddObserver(new Header());
ObserverManager.AddObserver(new Content());
ObserverManager.AddObserver(new Foot());

最后我們使用會怎么使用呢?(一個低能的問題...呵呵)看例子.
使用方法
復(fù)制代碼 代碼如下:
<!--使用方法-->
<a href="Javascript://" onclick="ObserverManager.Change({FirstName:'老婆'});">改變FirstName</a>
<a href="Javascript://" onclick="ObserverManager.Change({LastName:'是母老虎'});">改變LastName</a>
<a href="Javascript://" onclick="ObserverManager.Change({Id:2});">改變Id</a>

我把整個例子都附上了,有興趣的朋友可以下載來看看.
Javascript觀察者模式.rar
一個人能夠走多遠,取決于與誰同行

JavaScript技術(shù)Javascript 模式實例 觀察者模式,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费视频亚洲 | 午夜办公室在线观看高清电影 | 新金梅瓶玉蒲团性奴3 | 久久频这里精品99香蕉久网址 | 洗濯屋H纯肉动漫在线观看 羲义嫁密着中出交尾gvg794 | 国产普通话精品久久 | 国产毛片AV久久久久精品 | 欧美日韩在线亚洲一 | 色柚视频网站ww色 | 美女激清床上戏大全 | 二级毛片免费观看全程 | 久艾草在线精品视频在线观看 | 娇小老少配xxxxx | 青青久久网 | 国产精品九九久久精品视 | 巨大乳hdbbw| 人禽l交视频在线播放 视频 | 爱人 qvod | 国精产品一区一区三区有限公司 | 簧片免费观看 | 久爱在线中文在观看 | 果冻传媒免费观看 | 亚洲视频中文字幕在线 | 中文无码在线观 | 成a人片亚洲日本久久 | 亚洲 欧美 国产 综合久久 | 亚洲欧洲日韩视频在钱 | 老牛天天晚上夜噜噜噜 | 亚洲欧美色综合影院 | 男人的天堂MV在线视频免费观看 | 精品国产麻豆免费人成网站 | 欧美巨大巨粗黑人性AAAAAA | 日本一区不卡在线播放视频免费 | 99精品视频一区在线视频免费观看 | 一本道高清到手机在线 | 久久视频这里只精品99re8久 | 国产成人精品免费视频大全可播放的 | 亚州日韩精品AV片无码中文 | 国产精品青青草原app大全 | 99er4久久视频精品首页 | 久久免费精彩视频 |