浅谈静态代理模式:
interface HappyMarry{ //接口对象
void marry();
}
class You implements HappyMarry{ //真实角色
@Override
public void marry() {
System.out.println("小明要结婚了!");
}
}
class WeddingCompany implements HappyMarry{ //代理角色
private HappyMarry target;
public WeddingCompany(HappyMarry target) {
this.target = target;
}
@Override
public void marry() {
before();
this.target.marry();
after();
}
private void after() {
System.out.println("结婚之后,收尾款!");
}
private void before() {
System.out.println("结婚之前,布置现场!");
}
}
public class StaticProxy { //主方法
public static void main(String[] args) {
WeddingCompany weddingCompany = new WeddingCompany(new You());
weddingCompany.marry();
}
}
代理对象总结: 代理对象和真实对象都要实现同一个接口*
代理对象要代理真实的角色
好处: 代理对象可以做一些真实对象做不了的事情
真实对象可以放心做自己