代理模式是非常常见的模式,比如我们使用的VPN工具,明星的经纪人,都是代理模式的例子。但是,有人会疑问,明明可以直接访问对象,为什么中间还要加一个壳呢?这也就说到了代理模式的好处。在我看来,代理模式最大的好处,就是在不动原有对象的同时,可以给原有对象增加一些新的特性或者行为。

Android培训,安卓培训,手机开发培训,移动开发培训,云培训培训

/**
 * pre:代理模式
 * 小明追求A,B是A的好朋友,小明比较腼腆,不好意思直接将花交给A,
 * 于是小明将花交给B,再由B交给A. *///----------- 示例1 ---------// 不使用代理var Flower = function() {};var xiaoming = {
    sendFlower: function(target) {        var flower = new Flower();
        target.receiveFlower(flower);
    }
};var A = {
    receiveFlower: function(flower) {
        console.log("收到花:" + flower);
    }
};
xiaoming.sendFlower(A);// ----------- 示例2 --------------// 使用代理1var Flower = function() {};var xiaoming = {
    sendFlower: function(target) {        var flower = new Flower();
        B.receiveFlower(flower);
    }
};var B = {
    receiveFlower: function(flower) {
        A.receiveFlower(flower);
    }
};var A = {
    receiveFlower: function(flower) {
        console.log("收到花:" + flower);
    }
};
xiaoming.sendFlower(B);//------------- 示例3 ---------------/* 
 * 使用代理2
 * 从示例1和示例2,看不出使用代理有什么用处,B只不过是从中间转手了一次。
 *&nb
        
		

网友评论