設計模式_代理模式(Java)

代理模式(Proxy),爲其他對象提供一種代理以控制對這個對象的訪問。

應用:
遠程代理,爲一個對象在不同的地址空間提供局部代表。隱藏一個對象存在於不同地址空間的事實,如WebService。
虛擬代理,根據需要創建開銷很大的對象。通過它來存放實例化需要很長時間的真實對象。
安全代理,用來控制真實對象訪問時的權限。
智能指引,調用真實對象時,代理處理另外的事。

類圖:
代理模式

示例代碼:

//package com.dlut.designpattern.proxy;

public interface AbstractDriver {
    public void run();
}
class RealDriver implements AbstractDriver{
    public void run() {
        System.out.println("car is running");
    }
}

class ProxyDriver implements AbstractDriver{
    AbstractDriver driver=new RealDriver();
    public void run() {
        System.out.println("dididi~~~");
        driver.run();
    }
}

測試類:

//package com.dlut.designpattern.proxy;

public class Test {
    public static void main(String[] args) {
        AbstractDriver driver = new ProxyDriver();
        driver.run();
    }
}

執行結果:

dididi~~~
car is running

代理模式是一種很好理解的設計模式,也經常能在我們的項目中運用到。

參考:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章