代理模式
2022-07-25 10:06:44 7 举报
AI智能生成
代理模式是一种常见的设计模式,它通过为其他对象提供一种代理以控制对这个对象的访问。代理模式包含三个角色:抽象主题、代理主题和真实主题。抽象主题定义了真实主题和代理主题的公共接口,这样在任何使用真实主题的地方都可以使用代理主题。代理主题负责对真实主题的访问,并在需要时创建和删除真实主题的对象。真实主题实现了抽象主题所定义的接口,以便在需要时被代理主题调用。 希望这能帮到你!
作者其他创作
大纲/内容
原理<br>
它在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能
作用
<span style="color: rgb(51, 51, 51); font-family: "PingFang SC", Avenir, Tahoma, Arial, "Lantinghei SC", "Microsoft Yahei", "Hiragino Sans GB", "Microsoft Sans Serif", "WenQuanYi Micro Hei", Helvetica, sans-serif; font-size: 16px;">将框架代码和业务代码解耦,是方法的职责更加单一</span><br>
实现方式
静态代理
定义
通过引入代理类来给原始类附加功能
实现方式
实现接口
继承对象
缺点
手动添加代理类,增加开发和维护成本
动态代理
定义
在程序运行时期,动态生成代理类,来实现功能添加
实现方式
JDK动态代理
使用案例
Cglib动态代理
使用场景
非功能性需求开发<br>
监控<br>
统计<br>
鉴权<br>
限流<br>
事务<br>
幂等<br>
日志
RPC<br>
缓存
子主题<br>
0 条评论
下一页