(10)设计模式

编程入门 行业动态 更新时间:2024-10-25 02:29:07

(10)设计<a href=https://www.elefans.com/category/jswz/34/1771241.html style=模式"/>

(10)设计模式

文章目录

    • 1. 定义
    • 2. 通用类图
    • 3. 动态代理的原理与实现
    • 4. 代理模式的应用场景

1. 定义

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

代理模式(Proxy Design Pattern)的原理和代码实现都不难掌握。它在不改变原始类(或叫被代理类)代码的情况下,通过引入代理类来给原始类附加功能。

在不改变原始类(或叫被代理类)的情况下,通过引入代理类来给原始类附加功能。一般情况下,让代理类和原始类实现同样的接口。但是,如果原始类并没有定义接口,并且原始类代码并不是我们开发维护的。在这种情况下,可以通过让代理类继承原始类的方法来实现代理模式。

2. 通用类图


代理模式的代码实现中,代理类和原始类需要实现相同的接口。

3. 动态代理的原理与实现

静态代理需要针对每个类都创建一个代理类,并且每个代理类中的代码都有点像模板式的“重复”代码,增加了维护成本和开发成本。对于静态代理存在的问题,可以通过动态代理来解决。不事先为每个原始类编写代理类,而是在运行的时候动态地创建原始类对应的代理类,然后在系统中用代理类替换掉原始类。

4. 代理模式的应用场景

代理模式常用在业务系统中开发一些非功能性需求,比如:监控、统计、鉴权、限流、事务、幂等、日志。将这些附加功能与业务功能解耦,放到代理类统一处理,让程序员只需要关注业务方面的开发。除此之外,代理模式还可以用在 RPC、缓存等应用场景中。

  1. 业务系统的非功能性需求开发。
  2. 代理模式在 RPC、缓存中的应用

更多推荐

(10)设计模式

本文发布于:2024-02-11 15:23:45,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1681726.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模式

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!