了解代理模式这一篇文章就够了( 三 )
客户端测试类
public class Client {public static void main(String[] args) {TargetObject targetObject = new TargetObject();ProxyFactory proxyFactory = new ProxyFactory(targetObject);TargetObject proxyInstance = (TargetObject) proxyFactory.getProxyInstance();// 执行代理对象的方法 , 会触发ProxyFactory类的intercept方法 , 从而实现对目标对象的调用 。proxyInstance.method();}}
执行结果
文章插图
总结:
优点:不需要额外维护代理类 , 并且也不需要强制要求被代理的目标对象实现接口 , 使得代码更加的灵活 。
缺点:和JDK的动态代理一样 , 增加了代码的理解难度 。
总结通过“菜鸟”的介绍相信大家对代理模式也有了一定的认识 。 以上介绍的三种方式其使用时的选择时机需要根据实际情况考虑 , 一般当我们需要代理的类少的时候 , 可以考虑使用静态代理 , 但是静态代理的选择一般都比较少 , 因为其维护成本要高 , 并且局限也大 。 当被代理的目标类实现了接口时可以考虑使用JDK代理 , 反之当目标类没有实现接口时就只能选择使用Cglib代理了 。
今天的分享就到这里了 , 如果感觉“菜鸟”写的文章还不错 , 记得点赞加关注呦!你们的支持就是我坚持下去的动力 。 文章哪里写的有问题的也希望大家可以指出 , 我会虚心受教 。
文章插图
- 运动计数开发项目的对抗赛:飞算全自动软件工程平台碾压传统模式
- iQOO 7邀请函曝光“马”“鸭”“羊”代表什么
- 莆田:科技与创意引领制鞋新模式
- 华为开启“暴走”模式!三个大动作同时展开,国产芯片将迎来破冰
- 更便宜的米11系列新品要来了,小米11Lite了解下
- 送餐机器人等创新模式助力餐饮行业复苏发展
- 人工智能正在了解人类的“言外之意”
- 青少年|封面评论 |“青少年模式”依旧漏洞百出,标准化合规框架必须落地
- 聊聊网易云音乐:“心动模式”
- 华为要让专家当家,你了解华为吗?华为对于中国创业者真正的意义