zoukankan      html  css  js  c++  java
  • 代理模式(Proxy)

    1 概述
    有时我们会遇到这样的问题:要在多个地方,使用到一个远程对象,这样我们需要写加载远程对象的方法;统计一个对象被引用的次数;要一次创建很多大对象,但我们又不是立刻就能用到所有的对象。在这些问题中,所有的要被调用的对象功能均已实现,但又缺少一些其它的功能,如在创建时异步加载、统计引用次数,延迟加载等,要添加这些公共的功能,又不能破坏原有对象职责的单一性。遇到这样的问题,我们要用到——代理模式

    2 GOF 定义
    意图:
    为其他对象提供一种代理以控制对这个对象的访问

    结构图:

    备注:
    Subject:客户所希望的对象接口
    RealSubject:是真正实现了这个对象接口的方法。
    Proxy:引用了RealSubject对象,并负担一些额外的职责如异步加载、统计引用次数,延迟加载等。

    这样真正实现的对象,还是按以前的实现,只需要实现自己的功能,而别外一些异步加载、统计引用次数的功能则由代理对象来实现。

  • 相关阅读:
    0/1背包问题
    假如爱有天意(中文版)
    tomcat集群
    分布式锁
    centos7安装Harbor(转载)
    isEmpty和isBlank的区别
    单体应用架构和分布式架构的比较
    微服务鉴权
    mysql的时区设置
    RSA非对称加密算法
  • 原文地址:https://www.cnblogs.com/dataadapter/p/2694084.html
Copyright © 2011-2022 走看看