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

结构型设计模式之Proxy(代理)

结构型设计模式之Proxy(代理)

前言:
代理模式,aop环绕通知,动态代理,静态代理 都是代理的一种,这次主要是记录设计模式的代理demo案例,详情请看其他笔记。

1)意图

为其他对象提供一种代理以控制对这个对象的访问。

2)结构

在这里插入图片描述

3)适用性

Poxy模式适用于在需要比较通用和复杂的对象指针代替简单的指针的时候,常见情况有:

  • 远程代理(Remote Proxy)为一个对象在不同地址空间提供局部代表。
  • 虚代理(Virtual Proxy)根据需要创建开销很大的对象。
  • 保护代理(Protection Proxy)控制对原始对象的访问,用于对象应该有不同的访问权
    限的时候。
  • 智能引用(Smart Reference)取代了简单的指针,它在访问对象时执行一些附加操作。

代码:

/*** @author psd 结构性设计模式之代理模式*/
public class ProxyDemo {public static void main(String[] args) {RealSubject realSubject = new RealSubject();Proxy proxy = new Proxy(realSubject);proxy.request();}
}interface Subject{void request();
}class Proxy implements Subject{protected RealSubject realSubject;public Proxy(RealSubject realSubject){this.realSubject = realSubject;}@Overridepublic void request() {System.out.println("我是中介帮您看房.....");realSubject.request();System.out.println("我是中介看好房后对接租方和被出租方.....");}
}class RealSubject implements Subject{@Overridepublic void request() {System.out.println("我是客户要租房。。。。。");}
}
http://www.xdnf.cn/news/12088.html

相关文章:

  • JSON基础知识
  • Vue前端篇——Vue 3的watch深度解析
  • 本地IP配置
  • 一文了解 GPU 服务器及其在数据中心中的角色
  • 从上下文学习和微调看语言模型的泛化:一项对照研究 -附录
  • BERT:让AI真正“读懂”语言的革命
  • 为UE5的Actor添加能够读写姿态的功能
  • 【仿生机器人】刀剑神域——爱丽丝苏醒计划,需求文档
  • 【华为云学习与认证】以华为云物联网为基座的全栈开发(从物联网iot平台模块到应用展示、数据分析、机器学习、嵌入式开发等)的系统性学习与认证路线
  • 高防服务器价格高原因分析
  • 2024年第十五届蓝桥杯青少组c++国赛真题——快速分解质因数
  • 某校体育场馆结构自动化监测
  • 代码随想录 算法训练 Day22:回溯算法part01
  • web全栈开发学习-01html基础
  • 自注意力,多头注意力,交叉注意力代码对比
  • 【AI学习笔记】Coze工作流写入飞书多维表格(即:多维表格飞书官方插件使用教程)
  • Jenkins的学习与使用(CI/CD)
  • Postgresql常规SQL语句操作
  • 基于Web的安全漏洞分析与修复平台设计与实现
  • 力扣面试150题--岛屿数量
  • 【计算机网络】网络层协议
  • 【vue3学习】vue3入门
  • C++ 变量三
  • [JS逆向] 烯牛数据
  • Spring Boot微服务架构(十):Docker与K8S部署的区别
  • 5090cuda_torch
  • Python训练打卡Day42
  • 前端面试真题(第一集)
  • 解决pycharm同一个文件夹下from *** import***仍显示No module named
  • 结构性设计模式之Facade(外观)设计模式