zoukankan      html  css  js  c++  java
  • 1.2 代理模式

    参考资料:https://blog.csdn.net/weixin_38003389/article/details/88017747

    https://www.runoob.com/design-pattern/proxy-pattern.html

    一、什么是代理模式

    1.1 代理模式的定义:代理模式给某一个对象提供一个代理对象,并由代理对象控制对原对象的引用。

      很好理解,你去买房子可以自己了解地区的楼盘,自己找房东调查卖楼的价格,但这样需要浪费时间。现实生活中我们可以直接找中介或者APP找到相应的房源,省下很多自己去底层了解的东西。代理对象可以在客户端和目标对象之前起到中介的作用。

    1.2 代理模式分类:

      静态代理:涉及到一个接口、一个接口实现类、还有一个修饰这个接口实现类的代理类,分别对应着租房的动作,房东,中介三者的关系。

      JDK动态代理:动态代理不用我们去手编写代理类,在运行时,动态的在内存中生产代理类。

      第三方代理技术Cglib动态代理:可以对任何类生成代理,代理的原理是可以对目标对象接口实现代理,也可以进行继承代理。

    二、代理模式的优缺点

    2.1 优点:

       1、职责清晰。 2、高扩展性。 3、智能化。

    2.2 缺点:

      1、由于在客户端和真实主题之间增加了代理对象,因此有些类型的代理模式可能会造成请求的处理速度变慢。 2、实现代理模式需要额外的工作,有些代理模式的实现非常复杂。

    三、代理的实例场景

    1.Windows 里面的快捷方式。

    2.去代售点买火车票。

    3.找中介买房

    4.在Spring的AOP编程中:如果加入容器的目标对象有实现接口,用JDK代理、如果目标对象没有实现接口,用Cglib代理。

  • 相关阅读:
    Java
    Java
    Python 浮点数类型的精度问题
    Ubuntu下pip的更新问题
    初章
    第二次结对编程作业
    第一次结对编程作业
    Shengnan的《构建之法》读书笔记
    Backend事后诸葛亮
    ASE Alpha Sprint
  • 原文地址:https://www.cnblogs.com/Smileing/p/12960828.html
Copyright © 2011-2022 走看看