Spring——代理模式(待完)
代理模式是SpringAOP的底层
代理模式的分类:
- 
静态代理 
- 
动态代理 
角色:
- 
抽象业务:一般会使用接口或者抽象类来解决(房东出租房子这件事) 
- 
真实角色:被代理的角色(房东) 
- 
代理角色:代理真实角色,代理真实角色后,我们一般会做一些附属操作(中介) 
- 
客户:访问代理对象的人(租客) 
代理模式的好处:
- 
可以使真实角色的操作更加纯粹,不同去关注一些公共的业务 
- 
公共业务就交给代理角色,实现了业务的分工 
- 
公共业务发生扩展的时候,方便集中管理 
缺点:
- 
一个真实角色就会产生一个代理角色,代码量会翻倍 
10.2动态代理
- 
动态代理和静态代理角色一样 
- 
动态代理的代理类是动态生成的,不是我们直接写的 
- 
动态代理分为两大类:基于接口的动态代理、基于类的动态代理 - 
基于接口——JDK动态代理 
- 
基于类:cglib 
- 
java字节码:javasist 
 
- 
需要了解两个类:Proxy:代理, InvocationHandler:调用处理程序
动态代理的好处:
- 
可以使真实角色的操作更加纯粹,不同去关注一些公共的业务 
- 
公共业务就交给代理角色,实现了业务的分工 
- 
公共业务发生扩展的时候,方便集中管理 
- 
一个动态代理类代理的是一个接口,一般就是对应的一类业务 
- 
一个动态代理类可以代理多个类,只要实现了同一个接口 
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号