• 静态代理


    静态代理

    静态代理模式:

    真实对象和代理对象都要实现同一个接口
    代理对象要代理真实角色,代理对象要有参数。
    代理对象可以做真实对象做不了的事情,真实对象专注自己的事情

    package com.wang.thread;

    public class StaticProxyDemo01 {
       public static void main(String[] args) {

           new Thread(new Runnable() {//Thread类相当于WeddingCompany代理中间真实对象(Runnable接口)
               @Override
               public void run() {
                   System.out.println("i love you");
              }}).start();

           new WeddingCompany(new You()).marry();//下面两行代码的简写
           
           
          //首先需要有个代理
           WeddingCompany weddingCompany=new WeddingCompany(new You());
           //调用方法
           weddingCompany.marry();
      }
    }
    interface Marry{
       public void marry();
    }
    //真实角色
    class You implements Marry{

       @Override
       public void marry() {
           System.out.println("要结婚啦");
      }
    }
    //代理角色
    class WeddingCompany implements Marry{
       //真实目标角色
       private Marry target;
       public WeddingCompany(Marry target){
           this.target=target;
      }

       @Override
       public void marry() {
           before();
           //目标对象结婚
           this.target.marry();
           after();
      }
       private void before(){
           System.out.println("结婚之前布置现场");
      }
       private void after(){
           System.out.println("结婚之后,收尾款");
      }

    }

     

  • 相关阅读:
    斐波那契数列
    进制转换
    求最大公约数伪代码
    2020-2021-1 20201315 《信息安全专业导论》第5周学习总结
    XOR加密
    pep9线下作业
    2020-2021-1 20201226 《信息安全专业导论》第四周学习总结
    内网与外网
    打开word文档时,出现office更新,并且更新报错
    由于找不到mfc100u.dll,无法继续执行代码
  • 原文地址:https://www.cnblogs.com/wyj96/p/11979704.html
Copyright © 2020-2023  润新知