两个对象之间的操作不直接进行,通过第三方进行代理来实现。就比如说房客租房子这件事情,租房的两个对象是房客和房东,静态代理便是,在房客和房东之间多了一个角色,这便是中介,代理便是中介,现在租房这件事情便是房客和中介,以及中介和房东之间的事情,房客不直接和房东进行租房的操作。
回到刚才租房的例子,如果不使用静态代理,后面房客的需求增加了,房东的功能也随之增加,在原有代码的基础上进行代码的改动,可能会导致代码出现问题。
现在如果要对每个方法执行前输出一句话“今天天气真不错”,就需要对每个方法都进行更改,这样可能导致代码出现问题
使用静态代理模式便可以很好解决这个问题
只需要代理类在执行执行方法时进行相应的更改,这样便不会更改源代码,实现同样的需求
静态代理的使用首先要定义代理类实现相应的接口
通过代理类来调用相应的方法,可以实现同样的功能,并且不修改原有代码。
这便是静态代理,静态代理很好的实现了在不修改原有代码的基础上进行业务拓展的功能,这也是它主要的功能。
但是静态代理是代理类在创建的时候,接口以及代理类就已经确定了,因此一个静态代理类只能代理一个类,造成代码的冗余 。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/181261.html原文链接:https://javaforall.cn