Closed rottenpen closed 3 years ago
代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。
A要送礼物给B / A让C帮忙把礼物送给B
A.send = function( target ,gift){
let gift = '花'
target.receive(gift)
}
B.receive = function(gift){
console.log("B收到了" + gift)
}
A.send(B) // B 收到了花
C.receive = function (gift){
console.log("B收到了" + gift + ",并转送给B")
B.receive(gift)
}
A.send(C) // C收到了花,并转送给B B收到了礼物
C知道B喜欢什么,A送一些不喜欢的礼物就能退回去了。过滤掉不喜欢的礼物,不喜欢的人,这就是保护代理的作用。
A.back = function (gift) {
console.log('A被退回了' + gift)
}
C.receive = function (gift){
if(gift === ‘花’){
A.back(gift)
}else {
console.log("B收到了" + gift + ",并转送给B")
B.receive(gift)
}
}
23种模式,慢慢看书,慢慢写。 书籍是JavaScript设计模式与开发实践 在亚马逊买了电子书,资源就不上传了,支持正版。