Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 

README.md

代理设计模式

定义

在不改变原始类(或者被代理类)代码的情况下,通过引用代理类来给原始类附加功能。

> 附加功能和原有功能没有强关联关系。

应用场景

  1. 业务系统的非功能性需求开发 监控、统计、鉴权、限流、事务等。

  2. RPC

  3. 缓存

静态代理

代理类实现与源类相同的接口,每个类都编辑一个代理类。
一方面,我们需要在代理类中,将原始类的所有方法,都重新实现一遍,并且将每个方法附加相似的代码逻辑。
另一方面,如果添加的附加功能的类不止一个,我们要针对每个类都添加一个代理类。

动态代理

不事先为原始类创建代理类,而是在运行期间,动态的为原始类创建代理类,然后在系统中用代理类替换掉原始类。(一般使用反射实现)