Java設計模式(五):代理模式

代理模式(proxy pattern)

代理模式(proxy pattern):屬於對象的結構型模式。爲其他對象提供一種代理以控制這個對象的訪問。


代理模式UML圖

Java設計模式(五):代理模式


代理模式涉及的對象

抽象對象(Subject):定義了目標對象和代理對象的共用接口,這樣就在任何使用目標對象的地方都可以使用代理對象。目標對象(RealSubject):定義了代理對象所代表的真實實體。代理對象(Proxy):代理對象內部含有目標對象的引用,這樣就可以在任何時候操作目標對象,代理對象還提供了與抽象對象相同的接口,以便可以在任何時候替代目標對象。代理對象通常在客戶端調用傳遞給目標對象之前或之後,執行某個操作,而不是單純地將調用傳遞給目標對象。


示例代碼

抽象類 Subject

Java設計模式(五):代理模式

Java

目標類 RealSubject

Java設計模式(五):代理模式

Java

代理類 Proxy

Java設計模式(五):代理模式

Java

客戶端測試類 TestProxyPattern

Java設計模式(五):代理模式

Java


代理模式應用

  • 第一:遠程代理,也就是爲一個對象在不同的地址空間提供局部代表。這樣可以隱藏一個對象存在於不同地址空間的事實。

  • 第二:虛擬代理,是根據需要創建開銷很大的對象。通過它來存放實例化需要很長時間的真實對象(瀏覽器中就是用代理模式來優化下載的)。

  • 第三:安全代理,用來控制真實對象訪問時的權限。

  • 第四:智能指引,是指當調用真實的對象時,代理處理另外一些事。

  • 以上所述是小編給大家介紹的,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回覆大家的!

    代理模式

  • Java學習資料獲取(複製下段連接至瀏覽器即可)
    data:text/html;charset=UTF-8;base64,5p625p6E5biI5a2m5Lmg6LWE5paZ5YWN6LS56aKG5Y+W6K+35Yqg5omj5omj5Y+35pivMTAxODkyNTc4MA==

  • JAVA併發編程之多線程併發同步業務場景與解決方案(視頻)

    點擊打開鏈接

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