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

【设计模式】5.代理模式

用途

1. 远程代理(Remote Proxy)

  • 用于为一个对象在不同地址空间(如不同机器)创建局部代表。
  • 比如:RPC(远程过程调用),你本地调用的是 Proxy,实际由它发起网络请求去访问远程服务。
  • 案例:gRPC、Java 的 RMI、C++ 分布式服务框架。

2. 安全代理(Protect Proxy)

  • 控制权限,防止无权限的客户端访问敏感对象。
  • 比如:用户权限控制,只有管理员用户才能操作某些服务。

3. 智能代理(Smart Reference)

  • 在访问真实对象时,增加一些额外的操作。
    • 引用计数
    • 日志记录
    • 缓存
  • 比如:智能指针(如 std::shared_ptr)、数据库连接池等。

UML

在这里插入图片描述

代码

#pragma once
#include <iostream>// 抽象类
class ISubject
{
public:virtual void request()= 0;
};// 真实类
class RealSubject : ISubject
{
public:void request() override{std::cout << "发送了一条请求" << std::endl;}
};// 代理类
class Proxy : ISubject
{
public:void request() override{rs.request();}
private:RealSubject rs;
};
http://www.xdnf.cn/news/16931.html

相关文章:

  • VUE2 学习笔记16 插槽、Vuex
  • Python特性工厂函数详解:优雅管理属性验证
  • 昇思学习营-开发版-模型开发与适配
  • 【鸿蒙高级】
  • AI Competitor Intelligence Agent Team
  • 36. 有一个高 100%的 div,里面有一个高 100px 的 div,剩下一个自动填满
  • HiveMQ核心架构思维导图2024.9(Community Edition)
  • VBA 64位API声明语句第012讲
  • 实现游戏排行榜
  • Spring Boot 的事务注解 @Transactional 失效的几种情况
  • 从马武寨穿越关山
  • K8S部署ELK(五):集成Kibana实现日志可视化
  • [硬件电路-144]:模拟电路 - 开关电源与线性稳压电源常见的性能指标对比
  • Android设备认证体系深度解析:GMS/CTS/GTS/VTS/STS核心差异与认证逻辑
  • 【连接器专题】连接器做为固定连接介质的三种分类
  • 问题集000
  • Go语言常量
  • CAP 理论笔记
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第四天(DOM编程和AJAX异步交互)
  • Mysql深入学习:InnoDB执行引擎篇
  • K8S几种常见CNI深入比较
  • Vue+SpringBoot+langchain4j实战案例:实现AI消息问答 及 Markdown打字机渲染效果
  • C语言与数据结构:从基础到实战
  • 基于 Spring Boot + Vue 实现人脸采集功能全流程
  • 大模型智能体(Agent)技术全景:架构演进、协作范式与应用前沿
  • Selenium Web 自动化
  • 【AI论文】ScreenCoder:通过模块化多模态智能体推动前端自动化中的视觉到代码生成技术发展
  • 【Django】-9- 单元测试和集成测试(上)
  • 使用 Spring Initializr 生成项目结构:Java 开发效率提升指南
  • centos9 安装docker engine