代理模式
Posted yamiya
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了代理模式相关的知识,希望对你有一定的参考价值。
代理模式分为:静态代理和动态代理。
代理模式的好处:
1、可以使真实角色的操作更加纯粹,不用去关注一些公共的业务。
2、公共的交给代理角色,实现了业务的分工。
3、公共业务发生扩展时,方便集中管理。
静态代理:
抽象角色:一般会使用接口或者抽象类来解决
真实角色:被代理的角色
代理角色:代理真实角色,做一些附属操作
动态代理:
动态代理分为两大类:基于接口的动态代理,基于类的动态代理。
基于接口---JDK动态代理
基于类---cglib
java字节码实现---javasist
需要了解两个类:Proxy:代理;InvocationHandler:调用处理程序
动态代理的好处:
1、可以使真实角色的操作更加纯粹!不用去关注一些公共的业务。
2、公共也就交给代理角色!实现了业务的分工。
3、公共业务发生扩展的时候,方便集中管理。
4、一个动态代理类代理类代理的是一个接口,一般就是对应的一类业务。
5、一个动态代理类可以代理多个类,只要是实现了同一个接口即可。
以上是关于代理模式的主要内容,如果未能解决你的问题,请参考以下文章
设计模式代理模式 ( 代理模式结构 | 客户端 | 主题对象 | 被代理对象 | 代理对象 )
设计模式 结构型模式 -- 代理模式(动态代理(CGLIB动态代理)三种代理的对比(静态代理动态代理(JDK代理和CGLIB代理)优缺点使用场景))