美文网首页
Java代理之静态代理

Java代理之静态代理

作者: Restart白蓝 | 来源:发表于2020-11-26 19:36 被阅读0次

复习一下JAVA的代理,先把常见的静态代理走一遍。
注:
1.使用代理的目的,始终是为了不改变原有业务代码的情况下,得到增强或者改变。
2.间接的访问目标对象,避免直接访问目标对象给系统带来不必要的复杂性。

假设需求为,原有一个通用商品售出功能,业务改动希望PC端售出前可以提前通知,售后可以记录下售出。
正常我们可能会先在原先接口上新增方法,进行不同端判断,业务变动又新增....长久后耦合性就高了。
那就可以使用静态代理来不干扰原来代码的情况下实现。

一、先创建个原有的通用售商品的接口

image.png

二、然后实现接口卖商品的具体逻辑

image.png

三、创建个代理类来实现PC端需求

image.png

四、创建个测试类,PC端调用

image.png

五、看打印结果

image.png

静态代理的缺点

虽然静态代理实现简单,且不侵入原代码,但是,当场景稍微复杂一些的时候,静态代理的缺点也会暴露出来。
1、 当需要代理多个类的时候,由于代理对象要实现与目标对象一致的接口,有两种方式:
只维护一个代理类,由这个代理类实现多个接口,但是这样就导致代理类过于庞大
新建多个代理类,每个目标对象对应一个代理类,但是这样会产生过多的代理类
2、 当接口需要增加、删除、修改方法的时候,目标对象与代理类都要同时修改,不易维护。

所以就有了动态代理。

相关文章

  • 浅谈Java和SAP ABAP的静态代理和动态代理,以及ABAP

    文章目录 Java的静态代理 静态代理的优缺点 ABAP的静态代理 Spring AOP的动态代理 JDK动态代理...

  • Java设计模式之代理模式

    Java设计模式之代理模式 代理模式 静态代理 动态代理 为什么需要代理 通过代理,我们能够不用知道委托人是谁,而...

  • java反射和动态代理

    java动态代理Proxy.newProxyInstance 详解java代理机制(静态代理、动态代理)以及使用场景

  • Java代理之静态代理

    复习一下JAVA的代理,先把常见的静态代理走一遍。注:1.使用代理的目的,始终是为了不改变原有业务代码的情况下,得...

  • 设计模式之代理

    设计模式之代理模式 一、定义 在Java中代理的实现一般分为三种:JDK静态代理、JDK动态代理以及CGLIB动态...

  • 代理简记

    Java静态代理 委托类和代理类,实现共同接口 共同接口: 委托类: 代理类: 测试结果: Java动态代理 通过...

  • Java动态代理

    一、Java代理分为静态代理和动态代理两大类 1)静态代理 优点:代码结构简单,较容易实现; 缺点:无法适...

  • Java动态代理从入门到原理再到实战

    目录 前言 什么是动态代理,和静态代理有什么区别 Java动态代理的简单使用 Java动态代理的原理解读 动态代理...

  • Java代理

    前言 Java代理大致可以分为静态代理(static proxy),动态代理(dynamic proxy)。所谓代...

  • java | 什么是动态代理?

    最近在复习 Java 相关,回顾了下代理模式。代理模式在 Java 领域很多地方都有应用,它分为静态代理和动态代理...

网友评论

      本文标题:Java代理之静态代理

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