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

首頁 > 編程 > JavaScript > 正文

JavaScript設計模式之代理模式簡單實例教程

2019-11-19 13:34:21
字體:
來源:轉載
供稿:網友

本文實例講述了JavaScript設計模式之代理模式。分享給大家供大家參考,具體如下:

一、代理模式概念

代理,顧名思義就是幫助別人做事,GoF對代理模式的定義如下:

代理模式(Proxy),為其他對象提供一種代理以控制對這個對象的訪問。代理模式使得代理對象控制具體對象的引用。代理幾乎可以是任何對象:文件,資源,內存中的對象,或者是一些難以復制的東西。

解釋:房屋中介,可以代理幫助賣家把房子賣給買家,這中間賣家說要賣的價錢就可以了,買家也可以提出自己要買的房型,中介可以幫忙處理中間環節。最后達成買賣。中介可以同時代理很多房屋買賣,并且可以代理租房事宜。

代理模式的組成:

抽象角色:通過接口或抽象類聲明真實角色實現的業務方法。

代理角色:實現抽象角色,是真實角色的代理,通過真實角色的業務邏輯方法來實現抽象方法,并可以附加自己的操作。

真實角色:實現抽象角色,定義真實角色所要實現的業務邏輯,供代理角色調用。

二、代理模式的作用和注意事項

模式作用:

1、遠程代理(一個對象將不同空間的對象進行局部代理)

2、虛擬代理(根據需要創建開銷很大的對象如渲染網頁暫時用占位代替真圖)

3、安全代理(控制證實對象的訪問權限)

4、智能指引(調用對象代理處理另外一些事情如垃圾回收機制)

注意事項:

1、不能濫用代理,有時候僅僅是給代碼增加復雜度

三、代理模式代碼和實戰總結

<!DOCTYPE html><html><head lang="en"> <meta charset="UTF-8"> <title>代理模式</title></head><body><script> //代理模式需要三方 //1.買家 function maijia(){  this.name = "小明";  this.money = "30萬"; } //2.中介 function zhongjie(){ } zhongjie.prototype.maifang = function(){  //new fongdong(new maijia()).maifang("20萬");  new fongdong(new maijia()).maifang("20萬"); } //3.賣家 function fongdong(maijia){  this.maijia_name = maijia.name;  this.maijia_money = maijia.money;  this.maifang = function(money){//   console.log("收到了來自【"+this.maijia_name+"】"+money+"人民幣");   console.log("收到了來自【"+this.maijia_name+"】"+this.maijia_money+"人民幣");  } } (new zhongjie()).maifang();</script><script>// A2B function A(){  this.money = "20RMB"; } function to(){  if(!(this instanceof to)){   return new to;  } } to.prototype.maifang = function(){  var a = new A();  new B().maifang(a.money); } function B(){  this.maifang = function(money){   console.log("收到了錢"+money);  } } (new to()).maifang(); to().maifang();</script></body></html>

使用在線HTML/CSS/JavaScript代碼運行工具 http://tools.VeVB.COm/code/HtmlJsRun測試運行效果如下:

更多關于JavaScript相關內容可查看本站專題:《javascript面向對象入門教程》、《JavaScript切換特效與技巧總結》、《JavaScript查找算法技巧總結》、《JavaScript錯誤與調試技巧總結》、《JavaScript數據結構與算法技巧總結》、《JavaScript遍歷算法與技巧總結》及《JavaScript數學運算用法總結

希望本文所述對大家JavaScript程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 普格县| 芷江| 呼和浩特市| 东至县| 恩施市| 陇南市| 娱乐| 哈尔滨市| 英山县| 甘洛县| 平遥县| 崇左市| 永靖县| 衡水市| 中牟县| 南宁市| 西乡县| 兴隆县| 甘孜县| 丹巴县| 卢龙县| 伽师县| 阿拉尔市| 安图县| 林甸县| 吴忠市| 昭平县| 繁峙县| 玉林市| 墨玉县| 连城县| 马尔康县| 舞钢市| 新巴尔虎右旗| 阳朔县| 东明县| 林口县| 铜梁县| 福州市| 水富县| 兰溪市|