博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代理模式(Proxy)
阅读量:6857 次
发布时间:2019-06-26

本文共 405 字,大约阅读时间需要 1 分钟。

1 概述

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

备注:

Subject:客户所希望的对象接口
RealSubject:是真正实现了这个对象接口的方法。
Proxy:引用了RealSubject对象,并负担一些额外的职责如异步加载、统计引用次数,延迟加载等。
这样真正实现的对象,还是按以前的实现,只需要实现自己的功能,而别外一些异步加载、统计引用次数的功能则由代理对象来实现。

转载地址:http://hpjyl.baihongyu.com/

你可能感兴趣的文章
JavaScript:下拉列表框的事件处理
查看>>
ASP.NET Aries 3.0发布(附带通用API设计及基本教程介绍)
查看>>
jQuery EasyUI实现关闭全部tabs
查看>>
poj3635Full Tank?[分层图最短路]
查看>>
【USACO 1.4】Mother's Milk
查看>>
CentOs 设置静态IP 方法
查看>>
使用Maven构建多模块项目
查看>>
李洪强经典面试题47--UNIX常用命令
查看>>
angularjs中templateUrl的路径问题
查看>>
Linux 命令详解(三)./configure、make、make install 命令
查看>>
分享Kali Linux 2017年第31周镜像文件
查看>>
03-老马jQuery教程-DOM操作
查看>>
mongodb09----replicattion set--健壮性
查看>>
sql中的笛卡尔积
查看>>
C Array length function problem - C / C++
查看>>
ASP.NET中26个常用性能优化方法
查看>>
Objective-C利用协议实现回调函数
查看>>
angularjs的$window功能小练习
查看>>
Bayesian generalized linear model (GLM) | 贝叶斯广义线性回归实例
查看>>
Pulsar-Producer实现简介
查看>>