设计模式-代理模式浅析

2017-09-18  本文已影响0人  ymjkMaster

概述

代理模式对真实对象添加了一个代理,屏蔽了客户端对真实对象的访问。打个比方,真实对象就是某个明星,代理对象则为明星的经纪人,我们想请某个明星唱歌演出,一般是和经纪人接触,很少和明星直接接触。

代理模式的作用

代码展示

下面以明星,经纪人,客户为例子展示代理模式,以下代码体现了代理模式增加功能的作用。

// 明星接口
public interface Star {
  // 明星演出
  void actoin();
}

// 明星周杰伦类
public class JayChou implements Star {
  public void action() {
    System.out.println("----唱首《告白气球》----");
  }
}

// 周杰伦经纪人
public class JingJiRen implements Star {
  private JayChou jc;
  public JingJiRen() {
    jc = new JayChou;
  }

  // 演出前
  public void preAction() {
    System.out.println("----安排周杰伦唱歌乐队,场地和资金等----");
  }

  // 演出后
  public void postAction() {
    System.out.println("----安排周杰伦下榻酒店等----");
  }

  //正式演出
  public void action() {
    preAction();
    jc.action();
    postAction();
  }
}

//客户
public static void main(String[] args) {
  Star jjr = new JingJiRen();
  jjr.action();
}

代理模式的实现方式

下面列举Java中3种代理模式的实现方式,并进行简单描述。具体实现在以后的文章中讨论。

代理模式的使用场景

代理模式的优缺点

优点

缺点:

参考文章

上一篇下一篇

猜你喜欢

热点阅读