静态代理模式

//真实对象和代理对象都实现同一个接口
//代理对象要代理真实角色

//好处:代理对象可以做真实对象做不了的事情;真实对象专注做自己的事情
public class StaticProxy {
  public static void main(String[] args) {
    // WeddingCompany weddingCompany= new WeddingCompany(new You());
    // weddingCompany.HappyMarry();

    // You y =new You();
    new Thread(()-> System.out.println("我爱你")).start();
    new WeddingCompany(new You()).HappyMarry();
   }
}
  interface Marry{

    void HappyMarry();

  }
    //真实角色
    class You implements Marry{
    @Override
      public void HappyMarry() {
      System.out.println("秦老师要结婚,超开心");
    }
}

  //代理角色
  class WeddingCompany implements Marry{
    //代理谁--》真实目标角色
    private Marry target;

    public WeddingCompany(Marry target) {
    this.target = target;
  }

  @Override
    public void HappyMarry() {
      before();
      this.target.HappyMarry();//这就是真实对象
      after();
  }

    private void after() {
    System.out.println("结婚之后,收尾款");
  }

    private void before() {
      System.out.println("结婚之前,布置现场");
    }
  }

上一篇:静态代理模式


下一篇:DPDK的高性能代码及编译执行优化