代理设计模式: java里常用的设计模式
特点: 1.具体类和代理类有相同的接口或者共同的父类
2.代理类为具体类负责消息的处理,并将消息转发给具体类
3.代理类本身并不是真正的实现者,而是通过调研具体类的方法来实现的
2.按照代理类创建的时机,分两类:
1.静态代理: 是有我们程序员或者是特定的工具生成的
2.动态代理: 在程序运行期间,通过反射的方式动态的创建出来的
2.1: jdk动态代理(接口):
必须知道一个类和一个接口
InvocationHandler 只有一个方法
public Object invoke(Object proxy,Method method,Object[] args) throws Throwable
proxy:代理类的对象
method: 被代理的方法
args:被代理的方法的参数列表
2.2: Proxy:类
3. aop: 1.Advice(增强代码功能的类)
2.织入(Weaving):对方法进行增强:
1.前置增强: 在目标方法前调用
2.后置增强: 在目标方法后调用
3.环绕增强、:可以把前置 后置 异常抛出增强、最终增强等合到一起
异常抛出增强、最终增强等类型
4.Pointcut(切入点): 就是带有通知的连接点,在程序里主要体现为书写切入点的表达式:
5.Join Point:(连接点):程序执行过程里明确的一个点,一般就是方法的调用
6.Aspect(切面): 通常指的是一个类(里面可以指定切入点和通知)
代理模式和切面简介
最新推荐文章于 2023-07-27 12:06:17 发布