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

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

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

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

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

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

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

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

相关推荐
缘来是庄4 小时前
设计模式之代理模式
java·设计模式·代理模式
勤奋的知更鸟13 天前
Java 编程之代理模式
java·开发语言·设计模式·代理模式
Resurgence0316 天前
代理模式Proxy Pattern
笔记·代理模式
佛祖让我来巡山17 天前
【深入理解Spring AOP】核心原理与代理机制详解
代理模式·aop·springaop
哆啦A梦的口袋呀19 天前
基于Python学习《Head First设计模式》第十一章 代理模式
学习·设计模式·代理模式
爱喝喜茶爱吃烤冷面的小黑黑1 个月前
小黑一层层削苹果皮式大模型应用探索:langchain中智能体思考和执行工具的demo
python·langchain·代理模式
纳于大麓1 个月前
结构性-代理模式
代理模式
on the way 1231 个月前
结构型设计模式之Proxy(代理)
设计模式·代理模式
无问8171 个月前
Spring AOP:面向切面编程 详解代理模式
java·spring·代理模式·aop
米粉03051 个月前
代理模式核心概念
代理模式