代理模式(对象的创建和方法的执行放在代理类里,可以保护对象,降低耦合,方便的在方法前后进行增加其他功能)

package designMode;
//抽象主题
interface Subject{
  void Request();
}
//真实主题
class RealSubject implements Subject{
  public void Request(){
    System.out.println("访问真实主题方法...");
  }
}
//代理
class Proxy implements Subject{
  private RealSubject realSubject;
  public void Request(){
    if (realSubject==null){
      realSubject=new RealSubject();
    }
    preRequest();
    realSubject.Request();
    postRequest();
  }
  public void preRequest(){
    System.out.println("访问真实主题之前的预处理。");
  }
  public void postRequest(){
    System.out.println("访问真实主题之后的后续处理。");
  }
}
public class ProxyTest {
  public static void main(String[] args){
    Proxy proxy= new Proxy();
    proxy.Request();
  }
}

posted @ 2020-01-17 18:23  集大软辅孙忠  阅读(138)  评论(0编辑  收藏  举报