美文网首页
动态代理

动态代理

作者: Super_me14 | 来源:发表于2016-05-18 12:17 被阅读29次

    静态代理

    静态代理由委托类和代理类组成,在我们的java文件中写好,编译成.class文件。在客户端调用代理类的方法来使用委托类的方法。这些方法都在程序编译时都已经准备好了。

    动态代理

    Java的特点之一,动态代理。能在程序运行时去寻找我们需要的方法,譬如在aop和retrofit中被使用到了。我们经常会使用一些sdk或者jar包,但我们并没有源代码,因此需要我们用继承或者聚合去添加我们需要的新功能,然后这些类则会造成功能混乱不清,不符合单一原则。动态代理的出现极大帮助我们拓展新功能,它犹如两层静态代理,在委托类和代理类之间架起一座桥梁。
    通过实现InvocationHandler中的invoke方法来拓展新加入的方法 再通过Proxy.newProxyInstance() 生成的代理类对象。

    相关文章

      网友评论

          本文标题:动态代理

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