首页 > 其他分享 >代理模式学习

代理模式学习

时间:2022-11-06 01:11:43浏览次数:80  
标签:缓存 请求 对象 代理 模式 学习 design 远程

转自:https://www.runoob.com/design-pattern/proxy-pattern.html

1.例子

接口:

实体类: 

 代理类: 

其数据成员包含了一个被代理的类对象。

 通过代理类来实现对原类的访问,可以实现缓存。

2.作用

https://refactoringguru.cn/design-patterns/proxy

  1. 延迟初始化 (虚拟代理)。 如果你有一个偶尔使用的重量级服务对象,你无需在程序启动时就创建该对象, 可将对象的初始化延迟到真正有需要的时候。
  2.  访问控制 (保护代理)。 如果你只希望特定客户端使用服务对象, 这里的对象可以是操作系统中非常重要的部分, 而客户端则是各种已启动的程序 (包括恶意程序), 此时可使用代理模式。
  3. 本地执行远程服务 (远程代理)。 适用于服务对象位于远程服务器上的情形。
  4. 缓存请求结果 (缓存代理)。 适用于需要缓存客户请求结果并对缓存生命周期进行管理时, 特别是当返回结果的体积非常大时。 代理可对重复请求所需的相同结果进行缓存, 还可使用请求参数作为索引缓存的键值。【所有的代理其实都有缓存的功能,比如代理服务器。】

 

标签:缓存,请求,对象,代理,模式,学习,design,远程
From: https://www.cnblogs.com/BlueBlueSea/p/16861808.html

相关文章

  • 机器学习:人脸识别
    如果用CNN按分类做验证的话,会有以下问题需要每个人都给多个样本照片,比如每个人要提供100张自己的人脸照片供模型学习,这本来就不容易,加上人的数量也多,就更是个问题哪......
  • group by语句学习
    转自:https://www.cnblogs.com/rainman/archive/2013/05/01/3053703.html1.例子按照groupby后的字段分组,相同的为一组,一般是计算数量。select类别,sum(数量)as数......
  • MVVC学习的一点理解
    MVCC全名叫做:多并发版本并行(concurrent)控制是一种并发控制方法再MySQLInnoDB的实现主要是为了提高数据库并发性能,处理读-写冲突MVCC知识一个抽象概念,而在MySQL中,快照读......
  • 课程学习内容
    一、创建文件的三种方法第一种 @Testpublicvoidcreate1(){StringfilePath="D:\\file1.txt";Filefile=newFile(filePath);try{file.createNewFile();......
  • JAVA学习DAY1
    JAVA学习Windos快捷键ctrl+c:复制Ctrl+v:粘贴ctrl+A:全选ctrl+x:剪切ctrl+Z:撤销Ctrl+s:保存win+R:命令窗口win+shift+esc:任务管理器win+e:打开我的电脑shi......
  • 关于FTP服务-主动模式与被动模式-以及防火墙的开通说明
    背景:因最近一个项目,需要在一台服务器上搭建FTP服务,还要准备好防火墙,能保障客户端能正常访问这里涉及到两个问题是需要我们深思和考虑的:第一个问题:首先我们得知道FTP是因......
  • 学习笔记
    创建文件的三种方法//方式1@Testpublicvoidcreate1(){StringfilePath="D:\\file1.txt";Filefile=newFile(filePath);try{file.createNewFile();System.......
  • 2022-2023-1 20221425 《计算机基础与程序设计》第十周学习总结
    学期(如2022-2023-1)学号(如:20221425)《计算机基础与程序设计》第十周学习总结作业信息这个作业属于哪个课程<班级的链接>(如2022-2023-1-计算机基础与程序设计)这......
  • docker实战学习2022版本(五)之DockFile入门实战
    DockFile:DockFile是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成的脚本。官网:https://docs.docker.com/engine/reference/builder/构建三部曲:编写d......
  • 第二篇Typora学习
    学习java第一次使用Typora做笔记Hello,World(两边加2个*号就变成粗体了)Hello,World(两边加1个*号就变成粗体了)Hello,World!(两边加3个*号就变成斜体加粗了)Hello,World!(......