标签:java 需要 ssl 一个 style ges 可维护性 target 执行
为其他对象提供一种代理以便控制对这个对象的访问。
(1)静态代理
(2)动态代理
1)JDK自带的动态代理
2)javaassist字节码操作库实现
3)CGLIB
4) ASM(底层使用指令,可维护性较差)
静态代理模式一般会有三个角色:
抽象角色:指代理角色和真实角色对外提供的公共方法,一般为一个接口
真实角色:需要实现抽象角色接口,定义了真实角色所要实现的业务逻辑,以便供代理角色调用。也就是真正的业务逻辑在此。
代理角色:需要实现抽象角色接口,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。
InvocationHandler接口
.invoke(Object proxy,Method moehtod,Object[] args) 代理执行接口拦截方法
Proxy
.newProxyInstance(ClassLoader loader,Class[] interfaces,Invcationhandler handler) 创建动态代理实例
MethodInterceptor
Enhancer
MethodProxy
标签:java 需要 ssl 一个 style ges 可维护性 target 执行
原文地址:http://www.cnblogs.com/maokun/p/7583452.html