静态代理模式

静态代理模式

package com.zishi.lesson3;
?
?
//静态代理总结:
   //真实对象和代理对象都需要实现同一个接口
   //代理对象要代理真实角色
?
//好处:
   //代理对象可以做很多真实对象做不了的事情
   //真实对象专注做自己的事情
public class StacticProxy {
   public static void main(String[] args) {
       You you = new You();
//       new Thread( ()-> System.out.println("我爱你") ).start();
//       new WeddingCompany(new You()).HappyMarry();
?
       WeddingCompany weddingCompany = new WeddingCompany(you);
       weddingCompany.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 before() {
       System.out.println("婚前,布置婚礼现场");
  }
   private void after() {
       System.out.println("婚后,离婚doge");
  }
}
?

 

静态代理模式

上一篇:opencv入门系列教学(五)图像的基本操作(像素值、属性、ROI和边框)


下一篇:排序——2.插入排序