java设计模式静态代理模式
package liang; public abstract class Subject // 抽象角色 { public abstract void requst(); } ———————————————————————————————— package liang; public class ReallSubject extends Subject //真实角色 { public void requst() { System.out.println("From real subject"); } } ———————————————————————————————— package liang; public class ProxySubject extends Subject // 代理角色 { private ReallSubject realsubject;//代理模式内部引用了真实角色 public void requst() { this.preRequest(); //在真实角色操作之前所附加的操作 if(null == realsubject) { realsubject = new ReallSubject(); } realsubject.requst(); // 真实角色所完成的事情 this.postRequest(); // 在真实角色之后所附加的操作 } private void preRequest() { System.out.println("pre requst"); } private void postRequest() { System.out.println("post requst"); } } -------------------。。。。。。。。。。。。。 { realsubject = new ReallSubject(); } realsubject.requst(); // 真实角色所完成的事情 this.postRequest(); // 在真实角色之后所附加的操作 } private void preRequest() { System.out.println("pre requst"); } private void postRequest() { System.out.println("post requst"); } } -------------------。。。。。。。。。。。。。