• 关于代理模式初解


    代理模式:可以从字面上理解,比如说dell电脑的代理商

    厂家可以直销,但是也允许代理商进行销售

    那么我们就可以这么定义了

    首先,我们定义一个最基本的制造者,也就是厂家,这里我们提供接口,让厂家跟代理商分别去实现,代理商的实现可以通过初始化厂家的方法

    同时代理机构也继承了厂家的方法

    而同时代理商还可以自己添加附加的方法,比如说优惠政策

    这样的好处就是保证了源码(厂家),同时还可以有延展性

    而关于动态代理模式就是使用了java内部的java.lang.reflect.Proxy包,可以看得出来是使用了反射中的包

    这时候我么就不需要自己再去继承或者实现接口了,直接用Proxy、InvocationHandler跟Method

    Proxy类使得程序员在运行时间创建代理对象,它是用来创建动态代理类和实例的静态方法。

    系统有代理对象后,源对象的方法调用会首先被分派给一个InvocationHandler(这是个接口),这个接口有个invoke()方法,就是在这个方法中进行代理方法的其他操作

    前两个参数是要获得被代理对象的class的getClassLoader()跟getInstance()方法

    创建动态代理对象的步骤:

    1、指明一系列的接口来创建一个代理对象

    2、创建InvocationHandler对象,这是个接口,要用来继承实现

    3、指定该代理为某个其他对象的代理对象

    4、调用invoke方法进行代理,一是传递给真是对象调用,二是执行各种需要的操作

  • 相关阅读:
    多路RTSP流解码:最高可支持12路视频编解码
    RK3399 PRO快速开发
    人脸识别精准营销解决方案
    EC-A3399ProC 六核64位AI嵌入式主机
    Cluster Server R1集群服务器
    韦东山推出基于Firefly平台的升级版嵌入式Linux教程
    【上传图片】上传图片二三事
    【linux】阿里云防火墙相关
    【php】LAMP中开启错误提示
    【mysql】mysql优化
  • 原文地址:https://www.cnblogs.com/kevinfuture/p/4357881.html
Copyright © 2020-2023  润新知