代理模式

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

代理模式的好处:

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

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

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

 

静态代理:

角色分析:

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

真实角色:被代理的角色

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

客户:访问代理对象

 

动态代理:

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

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

基于类---cglib

java字节码实现---javasist

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

 

动态代理的好处:

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

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

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

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

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

posted @ 2020-03-08 23:59  yamiya  阅读(138)  评论(0编辑  收藏  举报