香山红叶建设有限公司网站虚拟主机安装wordpress
news/
2025/10/8 22:02:03/
文章来源:
香山红叶建设有限公司网站,虚拟主机安装wordpress,家用电脑如何做网站,wordpress两个菜单栏一、代理模式
代理模式定义#xff1a;为其他对象提供一种代理以控制对这个对象的访问。 上面类图中有一个订单接口类(OrderService)、一个订单实现类(OrderServiceImpl)#xff0c;订单模块的业务相对复杂和重要#xff0c;如果这时候要在方法执行前后加上日志#xff0c…一、代理模式
代理模式定义为其他对象提供一种代理以控制对这个对象的访问。 上面类图中有一个订单接口类(OrderService)、一个订单实现类(OrderServiceImpl)订单模块的业务相对复杂和重要如果这时候要在方法执行前后加上日志就可以新增一个代理类来实现而不用改动原来OrderServcieImpl核心业务逻辑代码。
代理模式角色 抽象角色Subject声明了目标对象和代理对象共同接口。 具体角色RealSubject: 代理对象所代表的真实对象。 代理角色Proxy:代理对象内部含有对真实对象的引用与真实对象有相同的接口以便在任何时候都可以代替真实对象同时它可以在执行真实对象操作时附加其它操作。
二、静态代理
静态代理见上面例子
优点没有侵入原代码
缺点不同的接口要有不同的代理类实现类就会很冗余。
三、JDK动态代理
在运行时生成动态代理类是基于Java的反射机制实现。 java.lang.reflect.Proxy: 调用newProxyInstance 得到某一对象的代理对象。
public static Object newProxyInstance(ClassLoader loader,Class?[] interfaces,InvocationHandler h)
loader:指明生成代理对象使用哪个类装载器。
Class?[]: 指明哪个对象的代理对象。
InvocationHandler指明这个代理对象要做什么事。 java.lang.reflect.InvocationHandler代理实例调用处理程序一个接口。
代码实现InvocationHandler接口的invoke方法加入要处理的逻辑客户端调用时先通过Proxy获取代理类对象。 优点仅依赖于JDK代码实现简单。
缺点必须实现接口的业务类才能生成代理对象。
四、CGLIB动态代理
CGLIB是一个强大的代理工具包被广泛应用于AOP框架中以提供方法拦截操作它的底层用ASM来操作字节码来生成类需要注意CGLib与ASM版本的对应关系。 优点不需要实现接口可以对类直接进行代理。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/931988.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!