【JS常见设计模式】代理模式
代理模式
为一个对象提供一个代用品或占位符,以便控制对它的访问
// 主类(老板)
function Boss() {
this.name = '老板'
}
// 主类公共方法
Boss.prototype.meet = function meet() {
console.log('面见老板')
}
// 代理类(秘书)
function Proxy() {
this.name = "秘书";
}
// 代理原型
// + 对面见老板进行代理
// + 如果带了礼物,可以面见老板
// + 否则告诉他老板不在
Proxy.prototype = {
constructor: Proxy,
meet: function meet(gift) {
if (gift != '礼物') {
console.log('老板不在');
return;
};
let boss = new Boss();
boss.meet()
},
}
let visit = new Proxy();
visit.meet() // 老板不在