代理模式即Proxy Pattern,23种java常用设计模式之一。代理模式的定义:对其他对象提供一种代理以控制对这个对象的访问。
代理模式分类:
1、远程代理(Remote Proxy)——为不同地理的对象提供局域网代表对象。(类似于客户端和服务器端)
2、虚拟代理(Virtual Proxy)——根据需要将资源消耗很大的对象进行延迟,真正需要的时候才进行创建。(网页中图片的加载,先用一张虚拟的图片进行显示,等图片加载完成后再进行显示)
3、保护代理(Protect Proxy)——控制用户的访问权限。(发帖功能)
4、智能引用代理(Smart Reference Proxy)——提供对目标对象一些额外的服务。(火车站代售处为火车站代理)
对智能引用代理来说,它有两种实现方式:
- 静态代理
- 动态代理
有两种方式,JDK动态代理和CGLIB动态代理,其都是为了动态产生代理,实现对不同类,不同方法的代理。
JDK动态代理实现步骤:
来自:
慕课