一、代理模式
1.代理模式简介
1.什么是代理
代理模式(Proxy),为其他对象提供一种代理以控制对这个对象的访问。
2.描述一个场景
人物:男生、女生、代理对象
某男生想追某个女生,打算送一些小礼物给女生,但是呢由于自己没有时间,所以找了个代理去帮他做一些事情。这个代理要知道这个男生要做什么事情,所以两个人具备同一个接口。
2.代码
1.送礼物的接口
public interface Gift {
void doll();
void eat();
}
2.男生想做什么的事
public class BoyFriend implements Gift {
@Override
public void doll() {
System.out.println("送洋娃娃");
}
@Override
public void eat() {
System.out.println("送巧克力");
}
}
3.代理类
public class Proxy implements Gift {
private Gift gift;
public Proxy(Gift gift){
this.gift = gift;
}
//代理可以是任何一个男生的代理,只要符合做的这些事
public Proxy() {
this.gift = new BoyFriend();
}
@Override
public void doll() {
this.gift.doll();
}
@Override
public void eat() {
this.gift.eat();
}
}
4.送女生东西
public class TestProxy {
public static void main(String args[]){
Proxy proxy = new Proxy();
proxy.doll();
proxy.eat();
}
}
输出结果: