什么是代理模式

本文介绍了代理模式的概念,区分了静态代理和动态代理(包括JDK动态代理和CGLIB动态代理),讨论了它们的优缺点以及在实际生活中的应用,强调了在不改变目标对象源码的情况下实现功能扩展的能力和各自的局限性。
摘要由CSDN通过智能技术生成
什么是代理模式?(简单举例几个例子)

1、打王者段位一直打不上王者段位怎么办?请游戏代练。

2、过年回家自已抢不到高铁票怎么办?找黄牛帮我们抢票。

3、.......(生活中处处可见。)

由上可知,代理模式 就是:

给某一个对象提供一个代理对象,并由代理对象控制对 原对象的引用。

通俗滴讲就是我们常说的:中介。

有哪几种代理模式(它们的区别与优缺点)?

一般分为两种:

1、静态代理 (代理类与被代理类的关系在程序运行前就已经确定好了。)

2、动态代理 (代理类与被代理类的关系在程序运行时才确定。)

  1. jdk动态代理
  2. cglib动态代理

什么是静态代理?

在程序运行前就已经存在的代理类的字节码文件。

代理类和委托类的关系在运行前就确定了。

什么是动态代理?

在程序运行时,通过反射机制动态创建的。

静态代理 与 动态代理 优缺点

优点

实现在不改变目标对象源码情况下,对目标对象进行功能扩展。

静态代理缺点

假设项目中有多个类,则需要编写多个代理类,工作量大,不好修改,不好维护,不能应对变化。

JDK动态代理缺点

被代理的类必须实现接口,未实现接口则没办法完成动态代理。

CGLIB动态代理缺点

被代理类必须不是 final 类。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值