静态代理模式
有什么作用?
用来代理代理对象,帮代理对象做事或则做更多的事,例子如下:
结婚接口:有个结婚的方法
你:真实角色
婚庆公司:代理你实现结婚
真实对象和代理对象都实现结婚接口
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| public class StaticProxy { public static void main(String[] args) { WeddingCompany weddingCompany = new WeddingCompany(new You()); weddingCompany.happyMarry(); } } interface Marry { void happyMarry(); } class You implements Marry { @Override public void happyMarry() { System.out.println("本人结婚了!"); } } class WeddingCompany implements Marry { private Marry marry; public WeddingCompany(Marry marry) { this.marry = marry; } @Override public void happyMarry() { System.out.println("结婚前的操作!"); this.marry.happyMarry(); System.out.println("结婚后的操作!"); } }
|
运行结果
好处
代理对象可以做比真实对象更多的事
真实对象只关注自己的事