美文网首页
设计模式(十五)代理模式-控制对象访问

设计模式(十五)代理模式-控制对象访问

作者: 天色将变 | 来源:发表于2019-07-09 19:30 被阅读0次
分类

代理有很多实现:

  • 远程代理,控制访问远程对象
  • 虚拟代理,控制访问创建开销大的资源
  • 保护代理,基于权限控制对资源的访问
    。。。。。。。
定义

代理模式为另一个对象提供一个替身或占位符以控制对这个对象的访问。

  • 使用代理模式创建代表对象,让代表对象控制某对象的访问,被代理的对象可以是远程的对象、创建开销大的对象或需要安全控制的对象。
类图
image.png
伪代码
public interface Subject{
  public void request();
}
public class RealSubject implements Subject{
  public void request(){
    System.out.println("request");
  }
}
public class Proxy implements Subject{
  RealSubject realSubject;
  public Proxy(){
    realSubject = new RealSubject();
  }
  public void request(){
    realSubject.request();
  }
}

示例:

Subject sub = new Proxy();
sub.request();
描述
  • RealSubject是真正做事的对象,它是被proxy代理和控制访问的对象。
  • Proxy持有RealSubject的引用,客户与RealSubject的交互都必须通过Proxy。
  • Proxy与RealSubject实现了相同的接口,因此任何用到RealSubject的地方,都可以用Proxy取代。
  • 在某些情况下,如数据库、资源等RealSubject都需要由统一的Proxy来控制访问,不能无限制对外开放。

相关文章

  • Java设计模式之10_Proxy(代理模式)

    更多Java设计模式:Java设计模式-目录 一、代理简介 为某个对象提供一个代理,以控制对这个对象的访问。代理类...

  • 设计模式(十五)代理模式-控制对象访问

    分类 代理有很多实现: 远程代理,控制访问远程对象 虚拟代理,控制访问创建开销大的资源 保护代理,基于权限控制对资...

  • 必知必会的设计模式8

    代理模式(Proxy Pattern) 属结构型设计模式,「为其他对象提供一种代理以控制对这个对象的访问」。 代理...

  • android常用设计模式之代理设计模式

    定义:代理模式属结构型设计模式。为其他对象提供一种代理以控制对这个对象的访问。 代理模式结构图 在代理模式中有如下...

  • android常用设计模式之代理设计模式及动态代理原理

    定义:代理模式属结构型设计模式。为其他对象提供一种代理以控制对这个对象的访问。 代理模式结构图 在代理模式中有如下...

  • JAVA 动态代理

    动态代理属于设计模式中的代理模式,代理模式的定义为:为其它对象提供一种代理以控制对这个对象的访问控制;在某些情况下...

  • 动态代理-Java-含源码解析

    什么是代理模式:代理模式是一种结构型设计模式,主要用于给某一个对象提供代理对象,并由代理对象控制对真实对象的访问。...

  • 设计模式之代理模式

    设计模式之代理模式 1.代理模式的定义 为其他对象提供一种代理以控制对这个对象的访问. 2.代理模式的使用场景 当...

  • 后浪 来学习吧!设计模式【09】代理模式

    设计模式【09】代理模式 定义 为其他对象提供一个代理以控制对这个对象的访问。 主要解决什么 在直接访问对象时带来...

  • Java 静态代理和动态代理

    什么是代理模式? 为其他对象提供一种代理以控制对这个对象的访问。——《Java设计模式》 ■ 抽象主题(Subje...

网友评论

      本文标题:设计模式(十五)代理模式-控制对象访问

      本文链接:https://www.haomeiwen.com/subject/toufkctx.html