代理模式

作用:爲其他對象提供一種代理以控制對這個對象的訪問,並可以附加多種用途。(在某些情況下,一個客戶不想或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。 )
舉例:科比打籃球,,科比打籃球厲害,但打籃球前需要簽訂合同,科比對合同不熟悉,並且打完籃球后的一些廣告什麼的,科比都不熟悉,所以需要一個經紀人來幫他處理“打籃球”前後的事情,這個經紀人就是代理對象。
AOP:面向切面編程的核心就是代理機制。
這裏寫圖片描述

//共用接口或抽象類
abstract class Subject{
    public abstract void request();
}
//被代理對象
class RealSubject extends Subject{
    @override
    public void request(){
        //do something...
    }
}
//代理類
class Proxy extends Subject{
    Subject rs;
    //可擴展
    @override
    public void request(){
        //do something...
        if(rs == null){
            rs = new RealSubject;
        }
        rs.reqeust();
        //do something...
    }
}
public static void main(String[] args){
    Proxy p = new Proxy();
    p.request();
    //do something...
}

好處:可擴展,建立聯繫,面向接口

發佈了38 篇原創文章 · 獲贊 12 · 訪問量 3萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章