# 代理模式
代理模式就是为一个对象提一个代替品或占位符,以便控制它的访问。
# 场景
相信在日常的开发当中,我们一定遇到过这样的场景:就是加载一张很大的图片,在网络不好的情况下我们要放一张小尺寸的加载图。 我们的实现方式如下:
var MyImage = (function(){
var imgNode = document.createElement( 'img' );
document.body.appendChild( imgNode );
var img = new Image();
img.onload = function(){
imgNode.src = img.src;
};
return {
setSrc: function( src ){
imgNode.src = './static/loading.gif';
img.src = src;
}
} })();
MyImage.setSrc( 'really image path' );
上面的代码可以实现,但是上面的代码违背了两个原则:
1、单一职责原则,就一个类(通常也包括对象和函数等)而言,应该仅有一个引起它变 化的原因。
2、
代理模式,是一种极其常见的模式,很多生活中场景就用到了他。比如:我们租房。我们很少与房东直接联系,看房,签合同。一般都是,房东把房子托管到中介那里,然后我们去找中介看房签合同!中介就是典型的代理模式。(当然也有部分例外就不说了)
# 保护代理
# 虚拟代理
# 缓存代理
关注公众号
组队学习,一同成长 
扫码添加好友
备注 加群学习 
← 观察者模式 nvm-node版本管理 →