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

    AOP(面向切面编程)

      它是面向对象的一种补充增强,它在这基础之上增加了一些而外的功能增强。

     它可以在原有的行为不改变的前提,在这之前或者之后完成一些而外的事情

    而AOP用的的思想和模式就是代理模式。

    代理模式分为两种:

    1)静态代理

    编静态代理的代理对象是开发人员自行编写好的,并且在编译期就已经确定。

    缺点:

    1.需要为每一个目标对象编写相应的代理实例,从而代理不同的业务逻辑。

    2.当接口发生变动时,所有的代理类的实现类都必须修改。

    2)动态代理

       使用动态代理,代理实例是不需要开发人员去编写,而是有相应的处理程序在运行时动态产生一个字节码,这个字节码就是代理对象,并加载到JVM中执行。由于代理实例是在运行时才会动态产生,因此就叫做动态代理。它和静态代理的区别就在于,静态代理的代理实例是人为编写的,并且实在便宜期就已经确定的。

    在Jav语言层面实现动态代理的机制有很多,例如:

    JDK动态代理(官方)

    1. Proxy类,用于动态产生代理对象
    2. InvocationHandler接口,回调处理器,负责调用目标对象的行为,并实现功能增强。

    JDK动态代理有一个特点,

    CGLIB动态代理(第三方开源)

      

  • 相关阅读:
    $resource详解
    大白话讲解Promise(一)
    《AngularJS》5个实例详解Directive(指令)机制
    Openstack实现共有云VPC的SDN网络
    Openstack实现共有云多flat网络
    Openstack使用NFS作为后端存储
    Openstack块存储cinder安装配置
    Openstack创建镜像
    Openstack深入了解虚拟机
    Python全栈day26-27(面向对象进阶)
  • 原文地址:https://www.cnblogs.com/BruningHUA/p/6221454.html
Copyright © 2011-2022 走看看