什么是代理模式,有哪些应用?

代理模式是一种结构设计模式,它允许通过创建代理对象来控制对其他对象的访问。代理对象充当原始对象的接口,客户端通过代理对象间接地访问原始对象,并可以在访问过程中添加额外的逻辑或控制。

代理模式的主要目的是通过引入代理对象,为原始对象提供一层间接访问的方式,以实现对原始对象的控制、保护或增强。他的常用场最有以下几个:

1.远程代理:在分布式系统中,代理模式可用于代理远程对象。远程代理隐藏了远程对象的实际实现细1、3节,使客户端可以像访问本地对象一样访问远程对象。如Dubbo的实现就是用到了代理模式。

2、动态代理:动态代理允许在运行时动态地创建代理对象,并动态地将方法调用分派到不同的处理器如它通过Java的反射机制实现,可以用于实现通用的代理逻辑,而无需为每个被代理的类单独创建代理。Spring的AOP,就用到了动态代理

3、缓存代理:缓存代理可以缓存原始对象的结果,以避免重复计算或访问资源。一般我们在用到缓存的时候,可以用这种模式。先访问代理对象,代理对象会去查询缓存,如果缓存中你没有,再去查询真实对家

4.日志代理:这种用的也挺多的,当我需要做日志记录的时候,可以做一个代理,在代理对象中进行统一的日志记录及管理。

5.异常代理:通常我们的系统中如果有统一的异常机制或者ERROR CODE的机制,可以通过创建一个统的代理来做处理。在代理对象中这些异常的捕捉及转换。

相关推荐
wuqingshun3141597 小时前
什么是代理模式?一般用在什么场景?
java·mysql·代理模式
我登哥MVP14 小时前
走进 Gang of Four 设计模式:代理模式
设计模式·代理模式
折哥的程序人生 · 物流技术专研3 天前
Java 23 种设计模式:从踩坑到精通 | 番外:代理 vs 装饰器 —— Spring AOP 到底用了哪个?
java·代理模式·装饰器模式·java面试·java设计模式·springaop·从踩坑到精通
初学者,亦行者4 天前
算法设计与分析3:贪心法 - 求解最短路径问题(TSP)
算法·代理模式
2501_916007477 天前
iPad 怎么抓包 从代理模式到暴力抓包的操作方法
android·ios·小程序·uni-app·代理模式·iphone·ipad
越甲八千7 天前
代理模式和适配器模式区别
代理模式·适配器模式
AI人工智能+电脑小能手11 天前
【大白话说Java面试题 第156题】【06_Spring篇】第16题:Spring 用到了哪些设计模式?
java·spring·设计模式·代理模式·工厂模式
许彰午1 个月前
36_Java设计模式之代理模式
java·设计模式·代理模式
devilnumber1 个月前
静态代理 & 动态代理:实战运用 + 场景区别 + 怎么选
java·开发语言·代理模式
devilnumber1 个月前
想真正吃透 + 灵活运用 Java 代理模式
java·开发语言·代理模式