java 静态代理-积木系列
代理模式的定义:Provide a surrogate or placeholder for another object to controlaccess to it(为其他对象提供一种代理以控制对这个对象的访问)。使用代理模式创建代理对象,让代理对象控制目标对象的访问(目标对象可以是远程的对象、创建开销大的对象或需要安全控制的对象),并且可以在不改变目标对象的情况下添加一些额外的功能。
这里记录下其中的静态代理,UML类图:
实现代码:
public interface Subject { public void operatetion(); }
public class RealSubject implements Subject{ @Override public void operatetion() { //核心业务实现 } }
public class Proxy implements Subject{ private Subject subject; public Proxy(Subject subject){ this.subject =subject; } @Override public void operatetion() { doSomeThing();//增强业务 subject.operatetion(); doSomeThing(); } private void doSomeThing(){} }
静态代理模式结构简单,一目了然。