中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Java的代理模式示例分析

發布時間:2022-02-23 09:15:40 來源:億速云 閱讀:104 作者:iii 欄目:開發技術

這篇文章主要講解了“Java的代理模式示例分析”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Java的代理模式示例分析”吧!

    定義

    代理模式(Proxy Parttern) 為一個對象提供一個替身,來控制這個對象的訪問,即通過代理對象來訪問目標對象,這樣做的話好處是可以在目標對象實現的基礎上,進行額外的功能的擴展。

    案例

    需求

    蘋果公司通過蘋果代理商來賣手機

    方案:靜態代理模式

    定義抽象接口類,該類在代理模式中扮演的是一個抽象功能的角色,該案例中就是把出售手機抽象為了一個接口

    /**
     * 售賣手機的接口(代理模式——抽象角色)
     * @author:liyajie
     * @createTime:2022/2/22 14:42
     * @version:1.0
     */
    public interface IPhone {
    
        /**
         * 出售手機
         * @author: liyajie
         * @date: 2022/2/22 14:44
         * @param
         * @return void
         * @exception:
         * @update:
         * @updatePerson:
         **/
        void sellPhone();
    }

    定義蘋果手機公司類,該類在代理模式中扮演的是一個目標角色,實現了IPhone接口,重寫出售手機的方法

    /**
     * 蘋果公司(代理模式——目標角色)
     * @author:liyajie
     * @createTime:2022/2/22 14:46
     * @version:1.0
     */
    public class TargetPhone implements IPhone {
        @Override
        public void sellPhone() {
            System.out.println("蘋果公司正在出售手機");
        }
    }

    定義代理類,通過代理類進而調用目標類的出售手機的方法,并加上自己的擴展功能

    /**
     * 代理商(代理模式——代理角色)
     * @author:liyajie
     * @createTime:2022/2/22 14:50
     * @version:1.0
     */
    public class ProxyPhone implements IPhone {
    
        private IPhone iPhone;
    
        public ProxyPhone(IPhone iPhone){
            this.iPhone = iPhone;
        }
    
        @Override
        public void sellPhone() {
            System.out.println("代理商正在循環播放廣告,賺取廣告商廣告費");
            System.out.println("代理商正在推薦自己的電子周邊產品,賺取費用");
            iPhone.sellPhone();
            System.out.println("代理商正在賣出蘋果手機,賺取差價");
        }
    }

    代理商賺錢的奧秘盡在下圖紅框中,賣出了蘋果手機賺錢,賣出了其他東西賺錢,廣告費也賺錢

    Java的代理模式示例分析

    定義測試類

    /**
     * 測試類
     * @author:liyajie
     * @createTime:2022/2/22 14:55
     * @version:1.0
     */
    public class Test {
        public static void main(String[] args) {
            TargetPhone targetPhone = new TargetPhone();
            ProxyPhone proxyPhone = new ProxyPhone(targetPhone);
            proxyPhone.sellPhone();
        }
    }

    查看結果

    Java的代理模式示例分析

    感謝各位的閱讀,以上就是“Java的代理模式示例分析”的內容了,經過本文的學習后,相信大家對Java的代理模式示例分析這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

    向AI問一下細節

    免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

    AI

    潍坊市| 巴彦淖尔市| 南皮县| 汽车| 铜鼓县| 陇川县| 平罗县| 镇江市| 肥乡县| 海兴县| 马关县| 汕尾市| 建平县| 天津市| 泸西县| 进贤县| 麟游县| 梨树县| 渝中区| 鄂伦春自治旗| 邢台县| 江陵县| 黑水县| 镇宁| 西和县| 云霄县| 醴陵市| 商南县| 九台市| 平阳县| 海南省| 兴仁县| 吴堡县| 华坪县| 洱源县| 林周县| 舒城县| 谷城县| 兴和县| 民和| 张掖市|