Java代理模式

一,什么是代理模式
通过代理对象访问目标对象,这样可以在目标对象继承上增强额外的功能
二,静态代理模式
角色分析
抽象角色:一般会使用接口和抽象类解决
真实角色:被代理角色
代理角色:代理真实角色的角色,代理真实角色后,我们一般会做一些附属操作
客户:访问代理对象的人
代码步骤:以租房为例子做代码分析
1.接口
在这里插入图片描述

2.需增强的角色
在这里插入图片描述

3.代理角色
在这里插入图片描述

4.//客户

在这里插入图片描述

5.静态代理模式的好处
可以使得真实角色操作更加纯粹!不用去关注一些公共的业务
共也就就交给代理角色!集中了业务的分工
公共业务发送扩展时,方便集中管理
6.静态代理模式缺点
一个真实角色也就会产生一个代理角色;代码量就会翻倍-开发效率会大大降低
三,动态代理模式
动态代理和静态代理一样的逻辑基本类似的,区别在于动态代理是根据目标对象进行动态生成代理对象
动态代理分为两大类:基于接口动态代理,基于类得到动态代理
动态代理使用必须的两个类
•Proxy(代理):为某个接口创建代理类
•InvocationHandler:是由代理实例的调用处理程序接口。每个代理实例都有一个关联的调用处理程序。当在代理实例上调用方法时,方法调用被编码并分派到其调用处理程序的invoke方法
生成动态代理的类
在这里插入图片描述

客户端访问
在这里插入图片描述

动态代理的好处:
可以使真实角色的操作更加纯粹!不用去关注一些公共的业务
公共也就交给代理角色!实现了业务的分工
公共业务发送扩展的时候,方便集中管理
一个动态代理类代理的是一个接口,一般就是对应的一类业务
个动态代理类可以代理多个类,只要实现了一个接口即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值