欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

代理模式j(luò)ava代碼,java jdk代理

Java代理的三種模式有什么?

Java的三種代理模式簡述

成都創(chuàng)新互聯(lián)成立與2013年,是專業(yè)互聯(lián)網(wǎng)技術(shù)服務(wù)公司,擁有項(xiàng)目網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站設(shè)計(jì)網(wǎng)站策劃,項(xiàng)目實(shí)施與項(xiàng)目整合能力。我們以讓每一個(gè)夢想脫穎而出為使命,1280元門頭溝做網(wǎng)站,已為上家服務(wù),為門頭溝各地企業(yè)和個(gè)人服務(wù),聯(lián)系電話:028-86922220

本文著重講述三種代理模式在java代碼中如何寫出,為保證文章的針對性,暫且不討論底層實(shí)現(xiàn)原理,具體的原理將在下一篇文章中講述。

代理模式是什么

代理模式是一種設(shè)計(jì)模式,簡單說即是在不改變源碼的情況下,實(shí)現(xiàn)對目標(biāo)對象的功能擴(kuò)展。

比如有個(gè)歌手對象叫Singer,這個(gè)對象有一個(gè)唱歌方法叫sing()。

假如你希望,通過你的某種方式生產(chǎn)出來的歌手對象,在唱歌前后還要想觀眾問好和答謝,也即對目標(biāo)對象Singer的sing方法進(jìn)行功能擴(kuò)展。

但是往往你又不能直接對源代碼進(jìn)行修改,可能是你希望原來的對象還保持原來的樣子,又或許你提供的只是一個(gè)可插拔的插件,甚至你有可能都不知道你要對哪個(gè)目標(biāo)對象進(jìn)行擴(kuò)展。這時(shí)就需要用到j(luò)ava的代理模式了。網(wǎng)上好多用生活中的經(jīng)理人的例子來解釋“代理”,看似通俗易懂,但我覺得不適合程序員去理解。程序員應(yīng)該從代碼的本質(zhì)入手。

Java代理的作用和實(shí)現(xiàn)?

代理模式的作用是:為其他對象提供一種代理以控制對這個(gè)對象的訪問。在某些情況下,一個(gè)客戶不想或者不能直接引用另一個(gè)對象,而代理對象可以在客戶端和目標(biāo)對象之間起到中介的作用。

java代理模式的代碼示例

public interface Italk {

public void talk(String msg);

} public class People implements Italk {

public String username;

public String age;

public String getName() {

return username;

}

public void setName(String name) {

this.username= name;

}

public String getAge() {

return age;

}

public void setAge(String age) {

this.age = age;

}

public People(String name1, String age1) {

this.username= name1;

this.age = age1;

}

public void talk(String msg) {

System.out.println(msg+!你好,我是+username+,我年齡是+age);

}

} public class TalkProxy implements Italk {

Italk talker;

public TalkProxy (Italk talker) {

//super();

this.talker=talker;

}

public void talk(String msg) {

talker.talk(msg);

}

public void talk(String msg,String singname) {

talker.talk(msg);

sing(singname);

}

private void sing(String singname){

System.out.println(唱歌:+singname);

}

}

} public class MyProxyTest {

/**代理模式

* @param args

*/

public static void main(String[] args) {

//不需要執(zhí)行額外方法的

Italk people1=new People(湖海散人,18);

people1.talk(No ProXY Test);

System.out.println(-----------------------------);

//需要執(zhí)行額外方法的

TalkProxy talker=new TalkProxy(people1);

talker.talk(ProXY Test,七里香);

}

}

名稱欄目:代理模式j(luò)ava代碼,java jdk代理
本文鏈接:http://chinadenli.net/article45/dsicsei.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供Google電子商務(wù)移動(dòng)網(wǎng)站建設(shè)服務(wù)器托管手機(jī)網(wǎng)站建設(shè)網(wǎng)站導(dǎo)航

廣告

聲明:本網(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)

成都做網(wǎng)站