当前位置: 首页 > news >正文

代理模式:控制对象访问

为其他对象提供一种代理以控制对这个对象的访问(如延迟加载、权限校验)。

代码示例:

// 1. 抽象接口
interface Image {void display();
}// 2. 真实对象(高开销)
class RealImage implements Image {private final String filename;public RealImage(String filename) {this.filename = filename;loadFromDisk(); // 模拟高成本操作}private void loadFromDisk() {System.out.println("正在加载图像: " + filename);}@Overridepublic void display() {System.out.println("显示图像: " + filename);}
}// 3. 代理类(控制访问)
class ProxyImage implements Image {private RealImage realImage;private final String filename;public ProxyImage(String filename) {this.filename = filename;}@Overridepublic void display() {if (realImage == null) {realImage = new RealImage(filename); // 延迟加载}realImage.display();}
}// 客户端调用
public class Client {public static void main(String[] args) {Image image = new ProxyImage("photo.jpg");image.display();}
}

 

使用场景:虚拟代理(延迟加载大文件)、保护代理(权限控制)、远程代理(网络请求封装)

优点:解耦客户与真实对象;增强安全性/性能

缺点:可能增加响应延迟;代码复杂度提高 

http://www.dtcms.com/a/277132.html

相关文章:

  • 小车避障功能的实现(第七天)
  • 使用微信免费的图像处理接口,来开发图片智能裁剪和二维码/条码识别功能,爽歪歪
  • Typecho分类导航栏开发指南:从基础到高级实现
  • 【零基础入门unity游戏开发——unity3D篇】光照探针 (Light Probes)实现动态物体的间接光照
  • python爬取新浪财经网站上行业板块股票信息的代码
  • Java 大视界 -- Java 大数据在智能教育学习资源智能分类与标签优化中的应用(346)
  • Pytorch实现感知器并实现分类动画
  • Vivado ILA抓DDR信号(各种IO信号:差分、ISERDES、IOBUFDS等)
  • MacOS使用Multipass快速搭建轻量级k3s集群
  • 在Intel Mac的PyCharm中设置‘add bin folder to the path‘的解决方案
  • COZE token刷新
  • mac上BRPC的CMakeLists.txt优化:解决Protobuf路径问题
  • composer如何安装以及举例在PHP项目中使用Composer安装TCPDF库-优雅草卓伊凡
  • 数据结构1:线性表的顺序存储的定义以及基本操作
  • [Linux 入门] Linux 引导过程、系统管理与故障处理全解析
  • Python 数据建模与分析项目实战预备 Day 4 - EDA(探索性数据分析)与可视化
  • ansible自动化部署考试系统前后端分离项目
  • 09.获取 Python 列表的首尾元素与切片技巧
  • 论文Review 3DGSSLAM GauS-SLAM: Dense RGB-D SLAM with Gaussian Surfels
  • OkHttp SSE 完整总结(最终版)
  • JAVA学习笔记 首个HelloWorld程序-002
  • javaweb-day10案例
  • Linux 系统——管理 MySQL
  • 入职华为od一个月的感受
  • 2025年渗透测试面试题总结-2025年HW(护网面试) 44(题目+回答)
  • 鸿蒙项目构建配置
  • TDengine 使用最佳实践(2)
  • SpringBoot-23-企业云端开发实践之Vue框架组件化开发和第三方组件element-ui
  • 谷歌推出Vertex AI Memory Bank:为AI智能体带来持久记忆,支持连续对话
  • 【源力觉醒 创作者计划】文心开源大模型ERNIE-4.5私有化部署保姆级教程与多功能界面窗口部署