您好,登錄后才能下訂單哦!
這篇文章主要講解了“Java的代理模式示例分析”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java的代理模式示例分析”吧!
代理模式(Proxy Parttern) 為一個(gè)對(duì)象提供一個(gè)替身,來控制這個(gè)對(duì)象的訪問,即通過代理對(duì)象來訪問目標(biāo)對(duì)象,這樣做的話好處是可以在目標(biāo)對(duì)象實(shí)現(xiàn)的基礎(chǔ)上,進(jìn)行額外的功能的擴(kuò)展。
蘋果公司通過蘋果代理商來賣手機(jī)
定義抽象接口類,該類在代理模式中扮演的是一個(gè)抽象功能的角色,該案例中就是把出售手機(jī)抽象為了一個(gè)接口
/** * 售賣手機(jī)的接口(代理模式——抽象角色) * @author:liyajie * @createTime:2022/2/22 14:42 * @version:1.0 */ public interface IPhone { /** * 出售手機(jī) * @author: liyajie * @date: 2022/2/22 14:44 * @param * @return void * @exception: * @update: * @updatePerson: **/ void sellPhone(); }
定義蘋果手機(jī)公司類,該類在代理模式中扮演的是一個(gè)目標(biāo)角色,實(shí)現(xiàn)了IPhone接口,重寫出售手機(jī)的方法
/** * 蘋果公司(代理模式——目標(biāo)角色) * @author:liyajie * @createTime:2022/2/22 14:46 * @version:1.0 */ public class TargetPhone implements IPhone { @Override public void sellPhone() { System.out.println("蘋果公司正在出售手機(jī)"); } }
定義代理類,通過代理類進(jìn)而調(diào)用目標(biāo)類的出售手機(jī)的方法,并加上自己的擴(kuò)展功能
/** * 代理商(代理模式——代理角色) * @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("代理商正在循環(huán)播放廣告,賺取廣告商廣告費(fèi)"); System.out.println("代理商正在推薦自己的電子周邊產(chǎn)品,賺取費(fèi)用"); iPhone.sellPhone(); System.out.println("代理商正在賣出蘋果手機(jī),賺取差價(jià)"); } }
代理商賺錢的奧秘盡在下圖紅框中,賣出了蘋果手機(jī)賺錢,賣出了其他東西賺錢,廣告費(fèi)也賺錢
定義測(cè)試類
/** * 測(cè)試類 * @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(); } }
查看結(jié)果
感謝各位的閱讀,以上就是“Java的代理模式示例分析”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java的代理模式示例分析這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。