Spring Aop核心原理(代理模式)

简介

23种java常用设计模式之一。代理模式的定义:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

角色分析:

抽象角色:一般会使用代理接口或者抽象类来解决

真实对象:被代理的角色

代理角色:代理真实对象,做一些附属的操作

客户:访问代理的对象的人

代理模式的好处:可以使用角色的操作的纯粹,不用去关注一些公共业务,交给代理角色,实现业务分工,公共业务发展的时候,方便集中,管理

扫描二维码关注公众号,回复: 7812241 查看本文章

静态代理实现:

 

 

 缺点:每一次出现一个真实对象都需要一个代理对象去代理实现,降低了开发的效率。

为了弥补这一点,从而有了动态代理模式(java反射模式)

动态代理模式:

1.基于接口的动态代理模式:JDK的动态代理

2,基于类的动态代理:Cglib,java字节码

 Proxy:生成代理类

InvocatioHardle:处理程序的实现的接口,处理代理实例,并返回结果

Invoke:实现方法

 

 静态代理(一个需要代理真实对象对应一个代理对象,降低耦合)

动态代理(一个代理对象可以接收需要代理无数真实对象,降低耦合)

完美!

 本文素材出自

https://www.bilibili.com/video/av71110355?p=19

作者:狂神说java

猜你喜欢

转载自www.cnblogs.com/420ITboy/p/11831919.html