美文网首页
Java基础-代理模式

Java基础-代理模式

作者: 森屿暖茶 | 来源:发表于2021-01-28 09:32 被阅读0次

    代理模式是什么?

    首先搞清楚代理是什么,代理就是代替你去做你做的事情。比如你买东西,你不会直接去厂家买,你都是通过网购、实体店、代购等等途径买到你想要买的东西。这些途径我们都可以称之为代理。

    那代理有什么用呢?代理可以让我们最终完成目的的过程中做一些其他的操作。比如网购有满减优惠、实体店能够体验真实产品、代购更便宜等等。这些额外的操作就是代理的作用。

    java 代理模式有2种,静态代理动态代理。一般我们使用动态代理,因为静态代理虽然实现了需求违背开闭原则。

    举个栗子。

    有一个接口用于购买苹果

    厂商实现该接口提供了买苹果的对外方法

    在不使用代理类的情况下 我们直接通过厂商购买

    假如:有需求静态代理商有折扣优惠 70就可以买100的苹果  而且还升级为红富士

    代理类 代理类

    静态代理实现:

    试想一下,如果哪天厂商提供的购买接口发生了变化,那么这些静态代理的类都要做出相应的修改,那将是多么巨大的工作量,违反了开闭原则(对修改关闭,对拓展开放)。

    动态代理实现。

    动态代理类 通过动态代理实现。

    动态代理常常跟反射一起使用实现想实现的需求。如APP插件化,启动一个未注册的activity时。可以使用动态代理+反射进行activity的伪装启动。

    相关文章

      网友评论

          本文标题:Java基础-代理模式

          本文链接:https://www.haomeiwen.com/subject/zfvwgktx.html