91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript設計模式之代理模式的示例分析

發布時間:2021-06-26 10:25:04 來源:億速云 閱讀:188 作者:小新 欄目:web開發

這篇文章主要為大家展示了“JavaScript設計模式之代理模式的示例分析”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“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.jb51.net/code/HtmlJsRun測試運行效果如下:

JavaScript設計模式之代理模式的示例分析

以上是“JavaScript設計模式之代理模式的示例分析”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

尚志市| 石阡县| 嫩江县| 郓城县| 汕头市| 兰考县| 抚松县| 静海县| 昂仁县| 陆河县| 常熟市| 观塘区| 遵义市| 榆树市| 甘洛县| 阜宁县| 石泉县| 诸暨市| 越西县| 渭源县| 华池县| 苗栗县| 阳泉市| 镇赉县| 武宁县| 商河县| 嘉祥县| 如东县| 精河县| 康马县| 郓城县| 大安市| 澜沧| 双牌县| 松阳县| 昌平区| 凤翔县| 广丰县| 离岛区| 华安县| 噶尔县|