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

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

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

    结构图:

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

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

  • 相关阅读:
    MySQL学习笔记
    FileInputStream
    Java 多个if 和多个else if 的区别
    Flume 聚合
    Flume SinkProcessor
    Flume ChannelSelector (包括自定义flume拦截器)
    Flume 案例演示
    為政第二
    各种版本 WordCount
    學而第一
  • 原文地址:https://www.cnblogs.com/dataadapter/p/2694084.html
Copyright © 2011-2022 走看看