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