代理模式是非常常見的模式,比如我們使用的VPN工具,明星的經(jīng)紀(jì)人,都是代理模式的例子。但是,有人會(huì)疑問(wèn),明明可以直接訪問(wèn)對(duì)象,為什么中間還要加一個(gè)殼呢?這也就說(shuō)到了代理模式的好處。在我看來(lái),代理模式最大的好處,就是在不動(dòng)原有對(duì)象的同時(shí),可以給原有對(duì)象增加一些新的特性或者行為。

Android培訓(xùn),安卓培訓(xùn),手機(jī)開發(fā)培訓(xùn),移動(dòng)開發(fā)培訓(xùn),云培訓(xùn)培訓(xùn)

/**
 * 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只不過(guò)是從中間轉(zhuǎn)手了一次。
 *&nb
        
		

網(wǎng)友評(píng)論