21
2020
10

什么是代理模式?

代理模式是给某一个对象提供一个代理,并由代理对象控制对原对象的引用。


优点:


代理模式能够协调调用者和被调用者,在一定程度上降低了系统的耦合度;

可以灵活地隐藏被代理对象的部分功能和服务,也增加额外的功能和服务。

缺点:


由于使用了代理模式,因此程序的性能没有直接调用性能高;

使用代理模式提高了代码的复杂度。

举一个生活中的例子:比如买飞机票,由于离飞机场太远,直接去飞机场买票不太现实,这个时候我们就可以上携程 App 上购买飞机票,这个时候携程 App 就相当于是飞机票的代理商。


代理模式实现代码如下:


/\* \* 定义售票接口 \*/

interface IAirTicket {

    void buy();

}

/\* \* 定义飞机场售票 \*/

class AirTicket implements IAirTicket {

    @Override

    public void buy() {

        System.out.println("买票");

    }

}

/\* \* 代理售票平台 \*/

class ProxyAirTicket implements IAirTicket {

    private AirTicket airTicket;

    public ProxyAirTicket() {

        airTicket = new AirTicket();

    }

    @Override

    public void buy() {

        airTicket.buy();

    }

}

/\* \* 代理模式调用 \*/

public class ProxyTest {

    public static void main(String[] args) {

        IAirTicket airTicket = new ProxyAirTicket();

        airTicket.buy();

    }

}



« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。