明星类(对象类):
行为接口类:
代理类:
实现步骤:
1、必须存在接口
2、被代理的对象需要实现接口
3、使用Proxy类提供的方法得到对象的代理对象
通过代理对象调用方法,执行流程是什么样的?
1、先走向代理
2、代理可以为方法额外做一些辅助工作
3、开始真正触发对象的方法的执行
4、回到代理中,由代理负责返回结果给方法的调用者
优化代码的关键步骤:
1、必须有接口,实现类要实现接口(代理通常是基于接口实现的)
2、创建一个实现类的对象,该对象为业务对象,紧接着为业务对象做一个代理对象
动态代理的优点:
1、可以在不改变方法源码的情况下,实现对方法功能的增强,提高了代码的复用
2、简化了编程工作、提高了开发效率,同时提高了软件系统的可拓展性
3、可以为被代理对象的所有方法做代理
4、非常灵活,支持任意接口类型的实现类对象做代理,也可以直接为接口本身做代理
为任意接口类型的实现类对象做代理的框架(运行泛型)
到此这篇关于一文了解Java动态代理的原理及实现的文章就介绍到这了,更多相关Java动态代理内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!