Java代理模式

发布时间 2023-06-17 12:31:46作者: coooooookie

一、基本概念

1、代理模式:使用代理对象来代替目标对象的访问,这样就可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能。

2、有静态代理和动态代理两种实现方式

 

二、静态代理

  • 静态代理是在编译时期就已经确定代理类的代码,在程序运行前就已经存在。
  • 静态代理需要为每个被代理的类创建一个代理类,代理类与被代理类实现相同的接口或继承相同的父类。
  • 静态代理的修改或增加功能需要修改代理类的代码,因此代码维护较为繁琐。

 

静态代理实现步骤:

  1. 定义一个接口及其实现类;
  2. 创建一个代理类同样实现这个接口
  3. 将目标对象注入进代理类,然后在代理类的对应方法调用目标类中的对应方法。这样的话,我们就可以通过代理类屏蔽对目标对象的访问,并且可以在目标方法执行前后做一些自己想做的事情。

二、动态代理