内容简介:代理模式的作用是控制和管理对象的访问权限;它的优点是:想要找代理的对象,可以不用每次都自己实现某个功能,可以把某个方法的调用权限,交给代理类来完成。一般分为运行结果: 普通上传啦~静态代理是自己写代理类,动态代理是让代码动态实现代理类:
代理模式的作用是控制和管理对象的访问权限;它的优点是:想要找代理的对象,可以不用每次都自己实现某个功能,可以把某个方法的调用权限,交给代理类来完成。一般分为 静态代理 和 动态代理 。要实现代理模式,代理类和目标类需要实现同样的接口。 这个以上传业务举例:
静态代理
//我们定一个接口 interface IUpload { void onUpload(); } //定义目标类,实现前面接口 public static class CommonUploader implements IUpload { @Override public void onUpload() { System.out.println("普通上传啦~"); } } //定义代理类,实现同意的接口 public static class ProxyUploader implements IUpload { //代理类持有目标对象类的引用 CommonUploader commonUploader; private ProxyUploader(CommonUploader commonUploader) { this.commonUploader = commonUploader; } //扩展实现 @Override public void onUpload() { commonUploader.onUpload(); } } //****运行**** public static void main(String a[]) { CommonUploader commonUploader = new CommonUploader(); //静态代理 ProxyUploader proxyUploader = new ProxyUploader(commonUploader); proxyUploader.onUpload(); } 复制代码
运行结果: 普通上传啦~
动态代理
静态代理是自己写代理类,动态代理是让代码动态实现代理类:
interface IUpload { void onUpload(); } public static class CommonUploader implements IUpload { @Override public void onUpload() { System.out.println("普通上传啦~"); } } //****以上代码和静态代码一致 public static class DynamicProxyUploader implements InvocationHandler { Object object; DynamicProxyUploader(Object o) { this.object = o; } @Override public Object invoke(Object proxy, Method method, Object[] args) throws Throwable { method.invoke(object, args); return null; } } //***运行 public static void main(String a[]) { CommonUploader commonUploader = new CommonUploader(); //动态代理 IUpload iUpload = (IUpload) Proxy.newProxyInstance(commonUploader.getClass().getClassLoader(), commonUploader.getClass().getInterfaces(), new DynamicProxyUploader(commonUploader)); iUpload.onUpload(); } 复制代码
运行结果: 普通上传啦~
Proxy类位于 Java 源代码的java.lang.reflect下,是动态代理机制的主类,它提供了一组静态方法来为一组接口动态地生成代理类及其实例。
Thanks:
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
图解CIO工作指南(第4版)
[日] 野村综合研究所系统咨询事业本部 / 周自恒 / 人民邮电出版社 / 2014-3 / 39.00
《图解CIO工作指南(第4版)》是一本实务手册,系统介绍了企业运用IT手段提高竞争力所必需的管理方法和实践经验,主要面向CEO或CIO等企业管理人士。 《图解CIO工作指南(第4版)》分为三个部分。第1部分的主题为IT管理,着重阐述运用IT技术提高企业竞争力所必需的所有管理业务,具体包括制定作为企业方针的IT战略,以及统筹执行该战略时与IT相关的人力、物力、财力、风险等要素在内的一系列管理业......一起来看看 《图解CIO工作指南(第4版)》 这本书的介绍吧!