# 代理模式

代理模式就是为一个对象提一个代替品或占位符,以便控制它的访问。

# 场景

相信在日常的开发当中,我们一定遇到过这样的场景:就是加载一张很大的图片,在网络不好的情况下我们要放一张小尺寸的加载图。 我们的实现方式如下:

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、

代理模式,是一种极其常见的模式,很多生活中场景就用到了他。比如:我们租房。我们很少与房东直接联系,看房,签合同。一般都是,房东把房子托管到中介那里,然后我们去找中介看房签合同!中介就是典型的代理模式。(当然也有部分例外就不说了)

# 保护代理

# 虚拟代理

# 缓存代理

关注公众号
组队学习,一同成长
扫码添加好友
备注 加群学习