zoukankan      html  css  js  c++  java
  • 代理模式(静态代理)(设计模式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接口创建线程,便于资源共享
    例如:窗口售票,有多个黄牛(代理角色),共同访问共享资源(票),




  • 相关阅读:
    第二阶段冲刺站立会议报告
    09软件工程读后感之三
    08软件工程读后感之二
    07软件工程读后感之一
    一个整数数组中最大字数组二
    返回一个二维数组最大联通子数组的和
    项目阶段总结
    大道至简阅读笔记之三
    大道至简阅读笔记二
    课堂设计
  • 原文地址:https://www.cnblogs.com/chengbao/p/4813428.html
Copyright © 2011-2022 走看看