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

    一、定义

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

    二、分析

    • 使用代理模式创建代表对象,让代表对象控制某对象的访问,被代理的对象可以是远程对象、创建开销大的对象或者是需要进行安全控制的对象。
    • 代理在结构上类似装饰者,但目的是不同的;装饰者为对象添加行为,而代理则是控制访问。
    • 和装饰器一样,代理会造成设计类的增加。

    三、类图

    代理模式类图

    四、使用场景

    • 远程代理(Java RMI):适用于服务对象位于远程服务器上的情形。

    • 虚拟代理:控制访问创建开销大的资源,在实际需要它时才去真正创建它。当对象在创建前和创建中时,由虚拟代理地来扮演对象的替身。对象创建后,代理就会将请求直接委托给对象。

    • 缓存代理:为开销大的运算提供暂时的存储,它允许多个客户共享结果,以减少计算或者网络延迟。

    • 防火墙代理:控制网络资源的访问,保护主题免于”坏客户“的侵害。

    • 智能引用代理:当主题被引用时,进行额外的动作,例如计算一个对象被引用的次数。

    五、代码实现

    源码:gitee地址(点击跳转)

    原创内容,如果你觉得文章还可以的话,不妨点个赞支持一下!转载请注明出处。
  • 相关阅读:
    MONGODB全面总结
    MongoDB 进阶-关联查询
    MongoDB之DBref(关联插入,查询,删除) 实例深入
    MongoDB 聚合管道(Aggregation Pipeline)
    Mongodb索引基础
    MongoDB 全文搜索教程
    MongoDB数组修改器更新数据
    MongoDb查询详解
    服务器与客户端回叫
    Gauss列主消元
  • 原文地址:https://www.cnblogs.com/lixingwu/p/14616849.html
Copyright © 2011-2022 走看看