说明
1、为其他对象提供一种代理,便以控制对这个对象的访问,不能直接访问目标对象。
2、代理模式最基本的形式是对访问进行控制,而本体对象则负责执行所分派的那个对象的函数或者类。
优点
可以保护对象,代理对象可以代替本体被实例化,并使其可以被远程访问。
优化性能,减少开销很大的对象。
缓存结果。
实例
class Flower {} // 源对象 class Jack { constructor (target) { this.target = target; } sendFlower (target) { const flower = new Flower(); this.target.receiveFlower(flower) } } // 目标对象 class Rose { receiveFlower (flower) { console.log('收到花: ' + flower) } } // 代理对象 class ProxyObj { constructor () { this.target = new Rose(); } receiveFlower (flower) { this.sendFlower(flower) } sendFlower (flower) { this.target.receiveFlower(flower) } } const proxyObj = new ProxyObj(); const jack = new Jack(proxyObj); jack.sendFlower(proxyObj); // 收到花:[object Object]
以上就是js代理模式的介绍,希望对大家有所帮助。更多js学习指路:js教程
神龙|纯净稳定代理IP免费测试>>>>>>>>天启|企业级代理IP免费测试>>>>>>>>IPIPGO|全球住宅代理IP免费测试