Java基础学习:多线程09(静态代理模式)

Java基础学习:多线程09

  • 静态代理模式:

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

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

    • 好处:

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

      • 真实对象就专注做自己的事情;

         

  • 代码案例:结婚案例


    /**
    * 静态代理模式:结婚案例
    *
    * 1,真实对象和代理对象都要实现同一个接口;
    * 2,代理对象要代理真实角色
    *
    * 好处:
    * 1,代理对象可以做很多真实对象做不了的事情;
    * 2,真实对象就专注做自己的事情;
    */
    public class StaticProxy {
       public static void main(String[] args) {
           You you=new You();

           //多线程代理模式:代理真实的Runable对象
           new Thread(()-> System.out.println("我爱你")).start();
           //代理模式
           new WeddingCompany(you).HappyMarry();

      }

    }



    //接口
    interface Marry{
       void HappyMarry();
    }

    //you:真是角色
    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();
      }

       public void before(){
           System.out.println("before");
      }

       public void after(){
           System.out.println("after");
      }
    }

 

 

posted @   gzs1024  阅读(202)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示