这篇文章主要介绍了Java中的代理模式是什么意思,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是代理模式?先来生活常用例子:你想买票,你没必要去车站买;而是可以去一个代售点,代售点代理车站卖票,这就是一个简单的代理模式!主要解决:在直接访问对象时带来的问题,比如说:要访问的对象在远程的机器上。在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象时加上一个对此对象的访问层。总结:我们访问实例对象时是通过代理对象访问的,这样比较灵活也可以添加一些附加操作顾名思义,静态的,由程序员构写,在编译是就已经将程序接口,代理类和被代理类写定了!在程序运行前就已经生成!
来个简单实例:设计公共接口Person:Student:代理类StudentProxy:测试:可以发现,程序本质还是学生交作业,不过是通免费云主机域名过一个中间层monitor(班长)去实现的,然后这个代理层还可以添加些其他的操作功能,在提交作业之前或者之后!静态代理是在程序运行前就生成了,很明显动态代理就是在程序运行期间添加代理层以达到效果。代理类动态生成!需要了解两个类:Proxy 代理, InvocationHandlerProxy:代理类,使用的时候动态生成InvocationHandler:主要执行需要代理的方法,使用invoke执行举个例子:方便理解,就上面那个实例我们将它改造成一个动态的!第一步,创建一个类实现InvocationHandler接口,用它构建出代理类和代理方法:参照静态代理,需要一个代理对象,只不过静态代理中代理对象是我们手动创建的,所以动态代理中我们利用jdk自带代理类Proxy的newProxyInstance方法动态的生成了一个代理类而已,这个代理类可以根据我们传的参数动态改变,测试:改进成工具类:将获得接口部分全部采用参数代替;就是把接口类型和参数改一下就可以!后续会添加代理模式在Spring上的使用,感谢你能够认真阅读完这篇文章,希望小编分享的“Java中的代理模式是什么意思”这篇文章对大家有帮助,同时也希望大家多多支持百云主机,关注百云主机行业资讯频道,更多相关知识等着你来学习!
相关推荐: Linux系统下自带BIND的使用注意事项有哪些
这篇文章主要介绍Linux系统下自带BIND的使用注意事项有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完! Linux系统下自带BIND的使用注意事项 BIND的默认设定 /etc/named.conf ——设定档 …
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。