静态代理

  • 真实对象和代理对象,都要实现同一个接口

  • 代理对象要代理真实角色

静态代理

  • 好处:

代理对象,可以做很多真实对象做不了的事情,

真实对象,可以专注做自己的事情

package BufferedTest;
/*
?
*/
public class StacticProxy {
  public static void main(String[] args) {
      You you = new You();
      new WeddingCompany(new You()).HaapyMarry();//简化成一行
//       WeddingCompany weddingCompany = new WeddingCompany(new You());
//       weddingCompany.HaapyMarry();
      new Thread(()-> System.out.println("我爱你")).start();
  }
}
interface Marry{
  void HaapyMarry();
}
//真实角色,你去结婚
class You implements Marry{
?
  @Override
  public void HaapyMarry() {
      System.out.println("王刚二婚了");
  }
}
//代理角色,帮助你结婚
class WeddingCompany implements Marry{
  private Marry target;//代理需要对象,定义接口
?
  public WeddingCompany(Marry target) {
      this.target = target;//这就是真实对象
  }
  private void before(){
      System.out.println("结婚之前,布置现场");
?
  }
  private void after(){
      System.out.println("结婚之后,收尾款");
?
  }
?
?
  @Override
  public void HaapyMarry() {
      this.target.HaapyMarry();
      before();
      after();
  }
?
}

静态代理

上一篇:win8.1 uefi引导


下一篇:百度地图API学习之路(1)