代理模式

Posted yamiya

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代理模式相关的知识,希望对你有一定的参考价值。

代理模式分为:静态代理和动态代理。

代理模式的好处:

1、可以使真实角色的操作更加纯粹,不用去关注一些公共的业务。

2、公共的交给代理角色,实现了业务的分工。

3、公共业务发生扩展时,方便集中管理。

 

静态代理:

角色分析:

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

真实角色:被代理的角色

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

客户:访问代理对象

 

动态代理:

动态代理分为两大类:基于接口的动态代理,基于类的动态代理。

基于接口---JDK动态代理

基于类---cglib

java字节码实现---javasist

需要了解两个类:Proxy:代理;InvocationHandler:调用处理程序

 

动态代理的好处:

1、可以使真实角色的操作更加纯粹!不用去关注一些公共的业务。

2、公共也就交给代理角色!实现了业务的分工。

3、公共业务发生扩展的时候,方便集中管理。

4、一个动态代理类代理类代理的是一个接口,一般就是对应的一类业务。

5、一个动态代理类可以代理多个类,只要是实现了同一个接口即可。

以上是关于代理模式的主要内容,如果未能解决你的问题,请参考以下文章

设计模式代理模式 ( 代理模式结构 | 客户端 | 主题对象 | 被代理对象 | 代理对象 )

代理的模式和原理(代理的模式有几种)

设计模式——代理模式

设计模式-代理模式

设计模式 结构型模式 -- 代理模式(动态代理(CGLIB动态代理)三种代理的对比(静态代理动态代理(JDK代理和CGLIB代理)优缺点使用场景))

代理模式 (ProxyPattern)