java代理模式教你中间商赚差价
【摘要】 🙊🙊作者主页:🔗求不脱发的博客
📔📔 精选专栏:🔗SSM直击大厂
📋📋 精彩摘要:动态代理属于程序设计中的设计模式中的代理模式。顾名思义就是为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
💞💞觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论💬支持博主🤞
🙊🙊作者主页:🔗
📔📔 精选专栏:🔗
📋📋 精彩摘要:动态代理属于程序设计中的 中的代理模式。顾名思义就是为其他对象提供一种 以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
💞💞觉得文章还不错的话欢迎大家点赞👍➕收藏⭐️➕评论💬支持博主🤞
📚目录
📖java代理模式教你中间商赚差价
📝1️⃣什么是代理模式(中间商)
先看大聪明买Lamborghini跑车流程
很简单,图中北京营销中心便是传说中的代理商。对于卖车这一行为总部和北京营销中心都实现。在整个大聪明买车过程中,总部充当真实卖车角色,北京营销中心充当的是代理角色。
基于上述实例,给出代理模式的定义:代理模式为其他对象提供一种个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。
以控制对这个对象的访问。在某些情况下,一
📝2️⃣代理模式的组成
抽象角色
通过接口或抽象类声明真实角色实现的业务方法。 代理角色 实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。 真实角色 实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。
📝3️⃣代理模式的实现
代理模式分为静态代理、动态代理。
静态代理是由程序员创建或工具生成代理类的源码,再编译代理类。所谓静态也就是在程序运行前就已经存在代理类的字节码文件,代理类和委托类的关系在运行前就确定了。
动态代理是在实现阶段不用关心代理类,而在运行阶段才指定哪一个对象。
在实际开发过程中较为常用的是动态代理,因此本文主要介绍动态代理的具体实现。
📝4️⃣动态代理实现步骤
不使用中间商
使用中间商
1.JDK动态代理:
真实角色及其真实角色的业务接口
代理角色及增强方法
2.Cglib 的动态代理:
真实角色
代理角色动态代理
📝5️⃣增强方法详解
- 增强参数列表
增强效果
增强返回值增强效果
增强方法具体实现增强效果
📝6️⃣小结
动态代理实现方式
- JDK动态代理
- Cglib动态代理
动态代理实现步骤
- 代理角色和真实角色实现相同接口
- 使用Proxy.newProxyInstance创建代理角色
- 增强方法
- 使用代理角色调用方法
- 整体代码
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)