這篇文章主要介紹“Java代理模式如何實現(xiàn)”,在日常操作中,相信很多人在Java代理模式如何實現(xiàn)問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Java代理模式如何實現(xiàn)”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!
成都創(chuàng)新互聯(lián)公司專注于佳木斯網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供佳木斯營銷型網(wǎng)站建設(shè),佳木斯網(wǎng)站制作、佳木斯網(wǎng)頁設(shè)計、佳木斯網(wǎng)站官網(wǎng)定制、重慶小程序開發(fā)服務(wù),打造佳木斯網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供佳木斯網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。
什么是代理模式呢?我很忙,忙的沒空理你,那你要找我呢就先找我的代理人吧,那代理人總要知道被代理人能做哪些事情不能做哪些事情吧,那就是兩個人具備同一個接口,代理人雖然不能干活,但是被代理的人能干活呀。
比如西門慶找潘金蓮,那潘金蓮不好意思答復(fù)呀,咋辦,找那個王婆做代理,表現(xiàn)在程序上時這樣的:
先定義一種類型的女人:
package com.cbf4life.proxy; /** *定義一種類型的女人,王婆和潘金蓮都屬于這個類型的女人 */ public interface KindWomen { //這種類型的女人能做什么事情呢? public void makeEyesWithMan(); //拋媚眼 public void happyWithMan(); //happy what? You know that! }
一種類型嘛,那肯定是接口,然后定義潘金蓮:
package com.cbf4life.proxy; /** *定一個潘金蓮是什么樣的人 */ public class PanJinLian implements KindWomen { public void happyWithMan() { System.out.println("潘金蓮在和男人做那個....."); } public void makeEyesWithMan() { System.out.println("潘金蓮拋媚眼"); } }
再定一個丑陋的王婆:
package com.cbf4life.proxy; /** *王婆這個人老聰明了,她太老了,是個男人都看不上, *但是她有智慧有經(jīng)驗呀,她作為一類女人的代理! */ public class WangPo implements KindWomen { private KindWomen kindWomen; public WangPo(){ //默認的話,是潘金蓮的代理 this.kindWomen = new PanJinLian(); } //她可以是KindWomen的任何一個女人的代理,只要你是這一類型 public WangPo(KindWomen kindWomen){ this.kindWomen = kindWomen; } public void happyWithMan() { this.kindWomen.happyWithMan(); //自己老了,干不了,可以讓年輕的代替 } public void makeEyesWithMan() { this.kindWomen.makeEyesWithMan(); //王婆這么大年齡了,誰看她拋媚眼?! } }
兩個女主角都上場了,男主角也該出現(xiàn)了:
package com.cbf4life.proxy; /** *定義一個西門慶,這人色中餓鬼 */ public class XiMenQing { /* *水滸里是這樣寫的:西門慶被潘金蓮用竹竿敲了一下難道,癡迷了, *被王婆看到了, 就開始撮合兩人好事,王婆作為潘金蓮的代理人 *收了不少好處費,那我們假設(shè)一下: *如果沒有王婆在中間牽線,這兩個不要臉的能成嗎?難說的很! */ public static void main(String[] args) { //把王婆叫出來 WangPo wangPo = new WangPo(); //然后西門慶就說,我要和潘金蓮happy,然后王婆就安排了西門慶丟筷子的那出戲: wangPo.makeEyesWithMan(); //看到?jīng)],雖然表面上時王婆在做,實際上爽的是潘金蓮 wangPo.happyWithMan(); } }
那這就是活生生的一個例子,通過代理人實現(xiàn)了某種目的,如果真去掉王婆這個中間環(huán)節(jié),直接是西門慶和潘金蓮勾搭,估計很難成就武松殺嫂事件。
那我們再考慮一下,水滸里還有沒有這類型的女人?有,盧俊義的老婆賈氏(就是和那個固管家茍合的那個),這名字起的:“假使”,那我們也讓王婆做她的代理:
把賈氏素描出來:
package com.cbf4life.proxy; public class JiaShi implements KindWomen { public void happyWithMan() { System.out.println("賈氏正在Happy中......"); } public void makeEyesWithMan() { System.out.println("賈氏拋媚眼"); } }
西門慶勾賈氏: package com.cbf4life.proxy; /** *定義一個西門慶,這人色中餓鬼 */ public class XiMenQing { public static void main(String[] args) { //改編一下歷史,賈氏被西門慶勾走: JiaShi jiaShi = new JiaShi(); WangPo wangPo = new WangPo(jiaShi); //讓王婆作為賈氏的代理人 wangPo.makeEyesWithMan(); wangPo.happyWithMan(); } }
到此,關(guān)于“Java代理模式如何實現(xiàn)”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
分享文章:Java代理模式如何實現(xiàn)
URL鏈接:http://weahome.cn/article/gcgipe.html