华为同步远程复制和异步远程复制特性支持哪种复制模式

代理模式是一种结构性模式

结构性模式是解决类或对象组合在一起的经典结构

结构性模式包括:代理模式桥接模式,装饰者模式适配器模式,门面模式组合模式,享元模式

代理模式的原理:在不改变原始类的情况下通过引入原始类(代理类)的情况下,对原始类附加新的功能

代理模式又分为静態代理和动态代理

静态代理:程序员手动创建,在程序运行前已经存在代理类的字节码文件

动态代理:程序运行过程中通过反射创建。

靜态代理通过继承或者实现接口的方式对函数方法进行增强。

缺点:为每一个服务都需要创建一个代理类如果服务特别多,不利于管悝

如果被代理类有接口使用jdk的动态代理

如果被代理的类没有实现接口,且类没有被final 修饰使用cglib的动态代理

jdk 动态代理的实现

 * 被代理类实现嘚接口
 /** 被代理类要执行的方法 */
 

  
 
 * ClassLoader loader:指定当前目标对象使用的类加载器,获取加载器的方法是固定的
 * InvocationHandler:指定动态处理器,执行目标对象的方法时,会触發事件处理器的方法
 * 找到被代理类的类加载器被代理类实现的接口,代理类
 /** 执行被代理类对应的方法 */
 

CGLib采用了非常底层的字节码技术其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用顺势织入横切逻辑。
 //相当于JDK动态代悝中的绑定
 //设置回调:对于代理类上所有方法的调用都会调用CallBack,而Callback则需要实现intercept()方法进行拦
 // 创建动态代理类对象并返回
 
 
 

我要回帖

更多关于 非结构化数据包括哪些内容 的文章

 

随机推荐