静态代理模式
静态代理模式:
即代理类和被代理类要实现同一个接口,由代理类来实现被代理类想要做的事情。
通俗来讲:比如你要结婚,你的目的就是结婚,然而婚庆公司可以帮你完成这一目的,并且还可以帮你布置现场,主持婚礼等一系列其他的事情,在这里,你就是被代理对象,而婚庆公司就是代理对象。哈哈哈,这样是否明白,话不多说,上代码:
代码演示:
1.定义一个结婚的接口
public interface Married {
void drink();
}
2.定义一个实现类(具体结婚对象,也就是被代理对象)
public class Man implements Married{
@Override
public void drink() {
System.out.println("结婚需要喝酒");
}
}
3.代理类
public class MarriedProxy implements Married {
private Married married;
public MarriedProxy(Married married) {
this.married = married;
}
@Override
public void drink() {
// 还可以做一些其他事情
System.out.println("布置现场");
// 执行控制业务
married.drink();
}
}
测试:
public class Test1 {
public static void main(String[] args) {
Married married = new Man();
MarriedProxy proxy = new MarriedProxy(married);
proxy.drink();
}
}