JAVA代理模式

在代理模式(Proxy Pattern)中,一個類代表另一個類的功能。這種類型的設(shè)計模式屬于結(jié)構(gòu)型模式。
在代理模式中,我們創(chuàng)建具有現(xiàn)有對象的對象,以便向外界提供功能接口。

更多內(nèi)容可以參考菜鳥教程:代理模式 | 菜鳥教程
代理模式:接口 + 真實實現(xiàn)類 + 代理類
找人幫忙,求人辦事,就是代理。下面用找朋友幫忙買辣條為例

一、靜態(tài)代理

創(chuàng)建接口

 public interface BuySpicy {

    public void buy();
        
}

創(chuàng)建真實實現(xiàn)類

public class Shopowner implements BuySpicy {
    
    public void takeSpicy() {
        System.out.println("店長到辣條生產(chǎn)廠家去進貨。。。");
    }
    
    public void buy() {
        takeSpicy();
        System.out.println("店長買到辣條");
        sellSpicy();
    }
    
    public void sellSpicy() {
        System.out.println("店長正在零售。。。");
    }

}

創(chuàng)建代理類

public class Friend implements BuySpicy {

        private BuySpicy buySpicy;
        
        public Friend(BuySpicy buySpicy) {
            this.buySpicy = buySpicy;
        }
    
        public void goShopping() {
            System.out.println("朋友正在去商店。。。");
        }
        
        public void buySpicyStrips() {
            goShopping();
            buySpicy.buy();
            delivery();
        }
        
        public void delivery() {
            System.out.println("朋友買到辣條正在去送給吃貨。。。");
        }
    
    }

創(chuàng)建測試類

public class BuySpicyTest {
    
    public static void main(String[] args) {
        BuySpicy buy = new Friend(new Shopowner());
        buy.buy();
    }

}

控制臺打印

在這里插入圖片描述

辣條到手,吃辣條去~~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 說明:上一節(jié),我們一起學(xué)習(xí)了靜態(tài)代理,本章我將繼續(xù)動態(tài)代理的講述,不過本章的內(nèi)容是建立在第一章知識點的基礎(chǔ)上進行的...
    驀然飛躍閱讀 568評論 0 1
  • 代理模式 案例 張三在北京上班,最近有事要回老家上海。于是他想著去火車站買票,接下來就簡單的模擬這一過程。 1.創(chuàng)...
    Phoegel閱讀 238評論 0 0
  • 轉(zhuǎn):http://www.runoob.com/design-pattern/proxy-pattern.html...
    right_33cb閱讀 149評論 0 0
  • 1、什么是代理模式 是指為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個對象不適合或者不能直接引用...
    Catch_the_tail閱讀 221評論 0 0
  • 代理模式說明與特點 代理模式給某一個對象提供一個代理對象,并由代理對象控制對原對象的引用。 在有些情況下,一個客戶...
    KissGoodby閱讀 259評論 0 0

友情鏈接更多精彩內(nèi)容