一句話概述
所謂的代理者是指一個(gè)類別可以作為其它東西的接口惨好。代理者可以作任何東西的接口:網(wǎng)絡(luò)連接品擎、內(nèi)存中的大對(duì)象蛮原、文件或其它昂貴或無(wú)法復(fù)制的資源。
實(shí)現(xiàn)一個(gè)代理模式
我們來(lái)實(shí)現(xiàn)一個(gè)生活中常見(jiàn)的代理的例子:通過(guò)中介租房
1.定義一個(gè)租的接口
public interface IRent {
void rent();
}
2.定義一個(gè)實(shí)現(xiàn)租接口的客戶類
public class Custom implements IRent {
private String mName;
public Custom(String string) {
mName = string;
}
@Override
public void rent() {
System.out.println(mName+"租了一個(gè)房");
}
}
3.定義一個(gè)實(shí)現(xiàn)租接口的代理類
public class RentProxy implements IRent{
private IRent mIRent;
public RentProxy(IRent iRent) {
mIRent=iRent;
}
@Override
public void rent() {
mIRent.rent();
}
public static void main(String[] args) {
RentProxy rentProxy=new RentProxy(new Custom("小明"));
rentProxy.rent();
}
}
打印結(jié)果
image.png
是不是有點(diǎn)面熟创淡,我們前面的策略模式就用到了代理模式痴晦。
代理模式比較簡(jiǎn)單,以上就足夠了琳彩。