美文网首页
静态代理

静态代理

作者: 面包树_A | 来源:发表于2017-11-23 21:44 被阅读0次
静态代理UML

实现类和代理类都需要实现该接口。

// 接口
public interface Subject{
    public void request();
}

// 真实类
public class RealSubject implements Subject{
    @Override
    public void request(){ System.out.println("real request"); }
}
// 代理类
public class Proxy implements Subject{
    // 代理类一定要引入真实类,因为代理对象不会做真正的业务逻辑,所以需要调用真实类的业务逻辑方法
    private RealSubject realSubject;
    public Proxy(RealProduct realSubject){ this.realSubject = realSubject; }

    @Override
    public void request(){ 
        // 这样就实现了在实际request之前和之后的操作
        before();
        realSubject.request();
        after();
    }
}

// 客户
public class Client{
  public static void main(String[] args){
    Subject subject = new Proxy(new RealSubject());
    subject.request();
  }
}

缺点:

  • 在程序运行前,proxy代理类的.class就已经生成
  • 需要为每个方法加一个代理,这样如果方法都要before after操作,那每个方法代理也会存在很多冗余代码。

所以静态代理基本不用。

相关文章

  • JAVA动态代理的实现方式

    1. 静态代理VS动态代理 代理类可以增强被代理对象的方法。可分为静态代理和动态代理。 1.1 静态代理 静态代理...

  • 带你初识Java的代理模式

    Spring AOP是基于动态代理设计模式实现的,相对的就有静态代理 动态代理和静态代理 静态代理 对于静态代理,...

  • 编程常用的设计模式

    动态代理和静态代理 静态代理 动态代理 静态代理与动态代理的区别 JDK中的动态代理和CGLIB 实现动态代理的方...

  • 静态AOP

    静态代理 代理分为静态代理和动态代理。静态代理由程序员创建或工具生成代理类的源码,再编译代理类,所谓静态也就是在程...

  • 静态代理、动态代理

    代理分为静态代理和动态代理 按照代理创建的时期,可以分为静态代理和动态代理: (1) 静态代理:由程序员或者...

  • 静态代理

    静态代理, : //创建代理 总结静态代理: 解决: 可以使用动态代理。

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

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

  • 设计模式-动态代理模式

    之前介绍了代理模式,大家也都了解了代理模式,不过之前介绍的代理模式是静态代理,静态代理什么意思?静态代理指的是代理...

  • 代理-静态代理

    一、静态代理实现 按照代理模式的类图: 静态代理,代理类在编译时生成;即,需要编码代理类。 从实现上来看,静态代理...

  • 动态代理

    根据代理类的生成时间不同可以将代理分为静态代理和动态代理两种。 静态代理 先看下静态代理的例子。以链家中介代理租赁...

网友评论

      本文标题:静态代理

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