js代理模式是什么
说明
1、为其他对象提供一种代理,便以控制对这个对象的访问,不能直接访问目标对象。
2、代理模式最基本的形式是对访问进行控制,而本体对象则负责执行所分派的那个对象的函数或者类。
优点
可以保护对象,代理对象可以代替本体被实例化,并使其可以被远程访问。
优化性能,减少开销很大的对象。
缓存结果。
实例
代码语言:javascript复制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教程
收藏 | 0点赞 | 0打赏