抽象主题类
package com.lw.pd.Proxy;//抽象主题类public interface Subject { //定义一个方法 public void request();}
真是主题类
package com.lw.pd.Proxy;//真是主题类public class RealSubject implements Subject { //实现方法 public void request() { //业务逻辑处理 }}
代理类
package com.lw.pd.Proxy;//代理类public class Proxy implements Subject { //要代理那个实现类 private Subject subject = null; //实现接口中定义的方法 public void request() { this.before(); this.subject.request(); this.after(); } private void after() { //do something } private void before() { //do something } //默认被代理者 public Proxy() { this.subject = new Proxy(); } //通过构造函数传递代理者 /*public Proxy(Object object){ }*/ public Proxy(Subject _subject){ this.subject = _subject; }}