日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

设计模式之代理模式,学习笔记

發(fā)布時(shí)間:2025/3/15 asp.net 16 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设计模式之代理模式,学习笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

不直接操作實(shí)體對(duì)象,而是借助另外一個(gè)對(duì)象來操作它,這樣的話,我們可以在實(shí)體對(duì)象編寫核心代碼,而用代理對(duì)象來編寫條件等等,如果滿足就訪問實(shí)體對(duì)象。這樣的話當(dāng)你不需要條件的時(shí)候,我們只是需要把代理對(duì)象刪除,其他的都不不用去改變。簡(jiǎn)單來講所謂的代理模式就是通過另外一個(gè)人來幫它完成一部分的任務(wù),減輕壓力。如下:

var sayHello = function(){
  console.log('Hello World');
};

var cHello = function(name){
  if(name==='老王'){
    sayHello();
  }
};

cHello('老王'); //Hello World
cHello('老李');

  sayHello是核心代碼,而cHello是代理,比如原本項(xiàng)目的需求是不管是訪問sayHello都執(zhí)行console.log而需求有些變化,只有老王訪問的時(shí)候才執(zhí)行sayHello。如果下次再改變我們只需要?jiǎng)哟眍惥托?#xff0c;而不需要去修改核心的類,突然發(fā)現(xiàn)其實(shí)這種很有好處的,比如你根本一開始就不需要去考慮代理,但項(xiàng)目需要更改的時(shí)候再去寫代理類,也是一樣的,哈。

?

  使用代理模式的另外一個(gè)好處就是,比如頁面中我們不一定一開始就需要加載所有的JS代碼,一部分是根據(jù)一些情況才進(jìn)行加載的,但我們又允許用戶提前是使用這些功能,這個(gè)時(shí)候我們就可以設(shè)計(jì)一個(gè)代理類,讓用戶來訪問這個(gè)代理類,將數(shù)據(jù)保存到代理類里面,而到需要的時(shí)候再訪問實(shí)際的類。

var sayHello = function(){
  console.log('Hello World');
};

var cHello = function(){
  setTimeout(function(){
    sayHello();
  },2000)
};


cHello(); //Hello World

  多少有些像亡羊補(bǔ)牢的感覺,一步一步的加條件。


  另外使用代理模式配合緩存機(jī)制可以極大的提高性能,比如我們可以通過代理來保存一些數(shù)據(jù),如果這個(gè)數(shù)據(jù)已經(jīng)技術(shù)過了那么我們直接返回這個(gè)數(shù)據(jù),如果沒有計(jì)算過那么再訪問源對(duì)象進(jìn)行計(jì)算。

//核心
var count = function(){
  var a = 0;
  for(var i=0,c;c=arguments[i++];){
    a+=c; //c = arguments[i]
  }
  return a;
};

//代理
var fcount = (function(){
  //保存緩存的數(shù)據(jù)
  var obj = {};
  return function(){
    var arg = arguments;
    var temp = Array.prototype.join.call(arg,',');
    if(temp in obj){
      console.log('ok');//用來測(cè)試是否有使用緩存的數(shù)據(jù)
      return obj[temp];
    }
    return obj[temp] = count.apply(null,arg);
  };

}());

console.log(fcount(2,3)); //5
console.log(fcount(2,3)); //ok 5
console.log(fcount(2,3,5));//10
console.log(fcount(2,3,5));// ok 10


  總之代理模式還是很有意思的,你可以先去實(shí)現(xiàn)核心代碼,如果項(xiàng)目比較趕你也可以不使用代理來訪問,有時(shí)間的話去優(yōu)化。

  

  其實(shí)這些說的都是一個(gè)意思,就是核心的不動(dòng),修改的只是代理類。

轉(zhuǎn)發(fā)自:http://www.cnblogs.com/pssp/p/5793065.html

轉(zhuǎn)載于:https://www.cnblogs.com/smallroc/p/6596511.html

總結(jié)

以上是生活随笔為你收集整理的设计模式之代理模式,学习笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 男女无遮挡做爰猛烈视频 | 久草资源在线观看 | 免费成人一级片 | 97在线视频观看 | 亚洲a视频在线观看 | 香蕉色网| 美女扒开大腿让男人桶 | 一级黄色毛毛片 | 亚洲一区欧美激情 | 天天干天天摸天天操 | 噜噜狠狠狠狠综合久久 | 人妻互换一区二区三区四区五区 | 国产中文字字幕乱码无限 | 可以在线看黄的网站 | 国产一级视频 | 亚洲图片 自拍偷拍 | 你懂的欧美 | 亚洲午夜精品一区二区三区 | 中文字幕在线观看视频免费 | 少妇被黑人到高潮喷出白浆 | 成年人免费在线视频 | 69视频一区二区三区 | 久久久永久久久人妻精品麻豆 | 日韩激情毛片 | 四虎成人在线视频 | 日韩精品一区二区三区中文字幕 | 粉嫩小泬无遮挡久久久久久 | 欧美日韩精品一区二区三区四区 | 日本一区二区免费高清视频 | 日日噜噜噜噜久久久精品毛片 | 日韩在线观看网址 | 国产毛片久久久久 | 欧美精品一区三区 | 亚洲精品99 | 亚洲红桃视频 | 91精品婷婷国产综合久久蝌蚪 | 欧美一区二区在线免费观看 | 国模少妇一区二区 | 五月婷婷亚洲 | 97久久久久 | 777久久| 国产粉嫩白浆 | 这里只有精品免费视频 | 日韩精品网址 | 中文在线8资源库 | 中国女人真人一级毛片 | 美女av免费在线观看 | 国产日本亚洲 | 久操视频在线免费观看 | 伊人www| 视频一区二区三区在线观看 | 麻豆蜜桃wwww精品无码 | 蜜臀av免费一区二区三区水牛 | av合集| 亚洲av熟女高潮一区二区 | 双性人做受视频 | 日本精品免费一区二区三区 | 99久久国产热无码精品免费 | 伊人色区| 成熟的女同志hd | 青草91| 伊人久久五月天 | 麻豆网址 | 国产免费视频 | 男女啪啪国产 | 国产做爰全免费的视频软件 | av番号网 | 国产一区在线播放 | 一二三四国产精品 | 黄色在线视频观看 | 日韩1页 | caoprom97| eeuss日韩 | 亚洲国产精品一区二区尤物区 | 性欧美另类| 精品美女久久久久 | av三级网| 国产调教视频在线观看 | 成人av影院| www.玖玖玖| 一级的大片 | 亚洲欧洲国产日韩 | japanese24hdxxxx中文字幕 | 丝袜诱惑一区 | 欧美大片免费 | 一区二区三区四区在线观看视频 | 国产乱子伦农村叉叉叉 | 久久久综合色 | 久久久精品视频一区 | 婷婷色av| 国产精品久久精品 | 九色91popny蝌蚪新疆 | 国产激情网站 | 日本精品一区二区三区四区 | 欧美a级大片 | 影音先锋亚洲精品 | 一区二区三区偷拍 | 日本韩国欧美 | 国产精品视频久久 |