定义
代理是一种常用的设计模式,代理模式可以对原有的类进行扩展,即通过代理对象的模式来访问目标类。
业务上是代理,也可以在代理前后完成一些事情。有增加类功能的作用。
类图
有的类图,Proxy和RealSubject之间用的是关联,不是聚合,如下:
实现
(完整代码见com.haiwei.structure.proxy)
public class Proxy implements Subject { private Subject subject; public Proxy(Subject subject) { this.subject = subject; } @Override public void operation() { System.out.println("before operation ..."); this.subject.operation(); System.out.println("after operation ..."); } }