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

    代理模式:为其他对象提供一种代理以控制对这个对象的访问。

    好处:可以控制被代理类的访问和行为。在不修改被代理类的情况下对被代理类的访问做出修改。

    代理分为:

    静态代理:编译期已经确定了被代理的对象和代理类。

    1)代理类和被代理类实现同样的接口(保证行为一致)

    2)代理类持有一个被代理类对象(保证代理类能够调用到被代理类)

    动态代理:在运行期间才确定被代理的对象,并动态生成一个代理类。

    Java中动态代理有两种:

    jdk动态代理:通过反射来创建代理类。被代理类和代理类实现同样的接口。(必须有共同的接口)

    1)实现共同的接口,需要定义一个共同的接口。

    2)需要定义代理类的回调类,该类需要实现InvokecationHandler接口,在invoke方法中编写代理类的逻辑

    3)需要通过反射的API,生成代理类。

    Cglib动态代理:通过编辑字节码文件来生成一个代理类。生成的代理类继承自被代理类。

    1)导入cglib依赖

    2)实现MethodInterceptor接口

    代理类和被代理类的行为是一致的。

    如何保证行为一致? 1)实现同样的接口 2)继承关系

  • 相关阅读:
    页面可视化搭建工具前生今世
    16、Redis手动创建集群
    15、Redis的集群
    14、Redis的复制
    13、Redis的发布订阅模式
    12、Redis的事务
    11、Redis的持久化(RDB、AOF)
    9、Redis处理过期keys的机制
    8、Redis中sort命令详解
    7、Redis中对ZSet类型的操作命令
  • 原文地址:https://www.cnblogs.com/xie-qi/p/13216693.html
Copyright © 2011-2022 走看看