zoukankan      html  css  js  c++  java
  • 设计模式之GOF23代理模式02

    静态代理

    模拟经纪人与明星开演唱会

    public interface Star {
     /**
      * 面谈
      */
      void confer();
      /**
       * 签合同
       */
      void signContract();
      /**
       * 唱歌
       */
      void sing();
      /**
       * 收尾款
       */
      void coleectMoney();
    }

    public class RealStar implements Star {
      private String name;
      
     public RealStar(String name) {
       this.name = name;
      }
     @Override
     public void confer() {
       System.out.println("RealStar.confer()");
     }
     @Override
     public void signContract() {
      System.out.println("RealStar.signContract()");
     }
     @Override
     public void sing() {
      System.out.println(this.name +"唱歌");
     }
     @Override
     public void coleectMoney() {
       System.out.println("RealStar.coleectMoney()");
     }
     public String getName() {
      return name;
     }
     public void setName(String name) {
      this.name = name;
     }
    }
    public class ProxyStar implements Star{
      private Star s;
      
     @Override
     public void confer() {
       System.out.println("ProxyStar.confer()");;
     }
     @Override
     public void signContract() {
      System.out.println("ProxyStar.signContract()");  
     }
     @Override
     public void sing() {
      if(s instanceof RealStar)
      {
       RealStar star=(RealStar)s;
       star.sing();
      }else {
       s.sing();
      }
     }
     @Override
     public void coleectMoney() {
      System.out.println("ProxyStar.coleectMoney()");
     }
     public ProxyStar(Star ps) {
      this.s = ps;
     }
    }
    /**
     * 客户端
     * @author 小帆敲代码
     *
     */
    public class Client {
     public static void main(String[] args) {
      Star real=new RealStar("Jay");
      Star proxy=new ProxyStar(real);
      proxy.confer();
      proxy.signContract();
      proxy.sing();
      proxy.coleectMoney();
     }
    }
  • 相关阅读:
    通过wifi上网,桥接模式下virtualBox虚拟机无法连上网的解决办法
    Djangio笔记
    nginx hello模块代码
    nginx 访问第三方服务(1)
    ngxin error日志
    lvs 负载均衡 NAT模式
    nginx location的命中过程
    linux epoll总结
    【转】操作系统 gdt ldt
    linux文件系统
  • 原文地址:https://www.cnblogs.com/code-fun/p/11332313.html
Copyright © 2011-2022 走看看