Java中的动态代理相对于静态代理有何优点?

关于代理的优点(即分离业务逻辑和打印日志)的不用叙述了,我想知道动态代理有什么更多的好处?... 关于代理的优点(即分离业务逻辑和打印日志)的不用叙述了,我想知道动态代理有什么更多的好处? 展开
 我来答
冲浪网站优化
高粉答主

推荐于2017-09-10 · SEO资深专家,互联网知名专家。
冲浪网站优化
采纳数:10812 获赞数:90554

向TA提问 私信TA
展开全部
缺Java中的动态代理相对于静态代理优点:
1、静态代理类和委托类实现了相同的接口,代理类通过委托类实现了相同的方法。这样就出现了大量的代码重复。如果接口增加一个方法,除了所有实现类需要实现这个方法外,所有代理类也需要实现此方法。增加了代码维护的复杂度。
2、静态代理对象只服务于一种类型的对象,如果要服务多类型的对象。势必要为每一种对象都进行代理,静态代理在程序规模稍大时就无法胜任了。如上的代码是只为UserManager类的访问提供了代理,但是如果还要为其他类如Department类提供代理的话,就需要我们再次添加代理Department的代理类。
Storm代理
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I... 点击进入详情页
本回答由Storm代理提供
嘉尔的爸爸
2009-08-15 · TA获得超过1820个赞
知道小有建树答主
回答量:1013
采纳率:0%
帮助的人:298万
展开全部
我给你用通俗的方式说一下吧,文言文咱不会

假如你想干三件事(相当于三段代码),安排好以后如果你想调换顺序,换做以前,你必须去代码里进行改动,改动代码就意味着你要重新测试。
而如果你用动态代理就不会,他把每件事看作一个方面,每个方面是“织入”的,改变顺序不影响整体
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
miniappt4c8wy7lfb0ir
2009-08-15 · TA获得超过295个赞
知道小有建树答主
回答量:184
采纳率:0%
帮助的人:99万
展开全部
所谓Dynamic Proxy(动态代理)是这样一种class:
它是在运行时生成的class,在生成它时你必须提供一组interface给它,然后该class就宣称它实现了这些interface。你当然可以把该class的实例当作这些interface中的任何一个来用。当然啦,这个Dynamic Proxy其实就是一个Proxy,它不会替你作实质性的工作,在生成它的实例时你必须提供一个handler,由它接管实际的工作。

动态代理更有利于程序的扩展;不需要更改原有的代码。

能在运行过程中根据接口的类型动态的调用实现该接口的类 。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
freish
2009-08-15 · TA获得超过2878个赞
知道大有可为答主
回答量:3153
采纳率:0%
帮助的人:2697万
展开全部
动态代理不需要自己写代理类咯
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式