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

Java基础-代理模式

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

代理模式是什么?

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

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

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

举个栗子。

有一个接口用于购买苹果

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

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

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

代理类 代理类

静态代理实现:

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

动态代理实现。

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

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

相关文章

  • Java代理模式及三种方式

    导读 移动开发知识体系总章(Java基础、Android、Flutter) 代理模式简介 Java的三种代理模式 ...

  • java动态代理(JDK和cglib)(转载自http://ww

    java动态代理(JDK和cglib) JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是...

  • Java基础:反射

    反射注解动态代理相关阅读 Java基础:类加载器 Java基础:反射 Java基础:注解 Java基础:动态代理 ...

  • java基础-代理模式

    1.代理模式 为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象...

  • Java基础-代理模式

    代理模式是什么? 首先搞清楚代理是什么,代理就是代替你去做你做的事情。比如你买东西,你不会直接去厂家买,你都是通过...

  • java中的代理模式与装饰者模式的区别

    java中的代理模式与装饰者模式的区别 代理模式与装饰者模式看起来很像,都实现基础对象实现的接口,在其自身对象中都...

  • 《设计模式之禅》读书笔记-2.6-代理模式

    2.6 代理模式 代理的原理可先参看此文章:Java基础-001-枚举、反射、类加载器、内省、注解、泛型、代理 定...

  • Java代理模式之JDK动态代理

    了解什么是动态代理模式,可参考Java设计模式之代理模式 简介 JDK动态代理是java.lang.reflect...

  • java代理模式的那些事

    java代理模式-登场 什么是代理模式? 代理模式是java中的一种设计模式,它其实就是设置一个中间环节来代理你要...

  • java建造者模式

    其他设计模式java单例模式java建造者模式java策略模式java代理模式java观察者模式java适配器模式...

网友评论

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

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