• 代理模式(静态代理)(设计模式9)


    //抽想角色定义代理角色与实际角色的对外开放的方法:

    //真实角色:

    //代理角色:

    代理角色可以做很多东西,但不会做真实角色的独有属性(如唱歌)

    只有通过真实角色的应用,调用真实角色方法,才可以真正的对症是角色

    的代理:

    private RealStar realStar;

    public Proxy(RealStar realStar){

      this.realStar= realStar;

    }

    客户:

    根据测试结果,只有sing()是本人执行,其他都有代理角色执行

    类图:

    使用Runnable接口创建线程即使用的使用静态代理模式:

    1、抽象角色:

    public interface Runnable

    2、真实角色,自己创建的Programmer类
          public class Programmer  implements Runnable
    3、代理角色:
          public class Threadextends Object  implements Runnable
    满足真实角色与代理角色都实现抽象角色(Ruunable).



    真是角色:




    代理角色,持有真是角色的引用:
    创建代理角色并持有真实角色的引用,启动线程
    new Thread(p).start();



    //使用Runnable接口创建线程,便于资源共享
    例如:窗口售票,有多个黄牛(代理角色),共同访问共享资源(票),




  • 相关阅读:
    IDEA2019破解版安装
    Docker (一)安装与基本命令
    js导出PDF
    python入门笔记一安装
    微信内关闭当前页面
    微信一些网页
    内网穿透工具:钉钉HTTP内网穿透使用详解
    html生成二维码,qr
    IDEA无法正常启动(打不开&报错)
    微信测试号
  • 原文地址:https://www.cnblogs.com/chengbao/p/4813428.html
Copyright © 2020-2023  润新知