Java中的动态代理相对于静态代理有何优点?
4个回答
展开全部
缺Java中的动态代理相对于静态代理优点:
1、静态代理类和委托类实现了相同的接口,代理类通过委托类实现了相同的方法。这样就出现了大量的代码重复。如果接口增加一个方法,除了所有实现类需要实现这个方法外,所有代理类也需要实现此方法。增加了代码维护的复杂度。
2、静态代理对象只服务于一种类型的对象,如果要服务多类型的对象。势必要为每一种对象都进行代理,静态代理在程序规模稍大时就无法胜任了。如上的代码是只为UserManager类的访问提供了代理,但是如果还要为其他类如Department类提供代理的话,就需要我们再次添加代理Department的代理类。
1、静态代理类和委托类实现了相同的接口,代理类通过委托类实现了相同的方法。这样就出现了大量的代码重复。如果接口增加一个方法,除了所有实现类需要实现这个方法外,所有代理类也需要实现此方法。增加了代码维护的复杂度。
2、静态代理对象只服务于一种类型的对象,如果要服务多类型的对象。势必要为每一种对象都进行代理,静态代理在程序规模稍大时就无法胜任了。如上的代码是只为UserManager类的访问提供了代理,但是如果还要为其他类如Department类提供代理的话,就需要我们再次添加代理Department的代理类。
Storm代理
2023-08-29 广告
2023-08-29 广告
"StormProxies是全球大数据IP资源服务商,其住宅代理网络由真实的家庭住宅IP组成,可为企业或个人提供满足各种场景的代理产品。点击免费测试(注册即送1G流量)StormProxies有哪些优势?1、IP+端口提取形式,不限带宽,I...
点击进入详情页
本回答由Storm代理提供
展开全部
我给你用通俗的方式说一下吧,文言文咱不会
假如你想干三件事(相当于三段代码),安排好以后如果你想调换顺序,换做以前,你必须去代码里进行改动,改动代码就意味着你要重新测试。
而如果你用动态代理就不会,他把每件事看作一个方面,每个方面是“织入”的,改变顺序不影响整体
假如你想干三件事(相当于三段代码),安排好以后如果你想调换顺序,换做以前,你必须去代码里进行改动,改动代码就意味着你要重新测试。
而如果你用动态代理就不会,他把每件事看作一个方面,每个方面是“织入”的,改变顺序不影响整体
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
所谓Dynamic Proxy(动态代理)是这样一种class:
它是在运行时生成的class,在生成它时你必须提供一组interface给它,然后该class就宣称它实现了这些interface。你当然可以把该class的实例当作这些interface中的任何一个来用。当然啦,这个Dynamic Proxy其实就是一个Proxy,它不会替你作实质性的工作,在生成它的实例时你必须提供一个handler,由它接管实际的工作。
动态代理更有利于程序的扩展;不需要更改原有的代码。
能在运行过程中根据接口的类型动态的调用实现该接口的类 。
它是在运行时生成的class,在生成它时你必须提供一组interface给它,然后该class就宣称它实现了这些interface。你当然可以把该class的实例当作这些interface中的任何一个来用。当然啦,这个Dynamic Proxy其实就是一个Proxy,它不会替你作实质性的工作,在生成它的实例时你必须提供一个handler,由它接管实际的工作。
动态代理更有利于程序的扩展;不需要更改原有的代码。
能在运行过程中根据接口的类型动态的调用实现该接口的类 。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
动态代理不需要自己写代理类咯
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询