什么是代理模式
代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。通俗的来讲代理模式就是我们生活中常见的中介。
举个例子来说明:假如说我现在想要办一个婚礼,虽然我还要去找酒店,还要去布置现场,还要去找婚车等,但是这确实太浪费时间和精力了。我只是想愉快轻松的结个婚,为什么我还要额外做这么多事呢?于是我就通过婚庆公司来帮我们订酒店、布置现场、,他们来给我找车源,帮我办理车辆过户流程,我只是负责选择自己喜欢的车,然后付钱就可以了。用图表示如下:
静态代理 测试环境搭建:
1.编写一个共同的接口Marry
public interface Marry {
void Marry();
}
2.编写要结婚的新人Couple.java
public class Couple implements Marry{
@Override
public void Marry() {
System.out.println("结婚的人入场");
}
}
3.编写婚庆公司类WeddingServices.java
public class WeddingServices implements Marry {
Couple couple;
public WeddingServices(Couple couple) {
super();
this.couple = couple;
}
@Override
public void Marry() {
System.out.println("婚庆公司:");
System.out.println("找酒店和婚车");
System.out.println("布置现场");
couple.Marry();
System.out.println("收拾现场,婚礼结束");
}
}
4.编写代理测试类testProxy.java
public class testProxy {
public static void main(String[] args) {
WeddingServices weddingServices = new WeddingServices(new Couple());
weddingServices.Marry();
}
}



