zoukankan      html  css  js  c++  java
  • 关于AOP的理解

    AOP,面向切面编程,在看传智视频的时候,看到一个很好的理解,一个很好的AOP的例子,试详解之。

    最优例子:权限控制。

    在权限控制中,比较原始的做法(不原始的做法我也不会)是,对每个需要控制权限的地方,通过if来判断人员的权限,而后给予或不给某权限。如:

    image

    而这个过程中,对每一个按钮、页面或者其他元素,一旦需要授权,则需要进行一番这样的判断,这个判断的过程明显的是代码重复。因此有必要将if判断分离出来,我们只有专心的做好 do xxx 的部分就好了。

    把 if判断分离出来的过程,就是一种AOP的体现。

    image

    java对AOP的抽取,采用了代理(proxy)的方法来进行。简单的说,就是设置一个代理对象,对所有的业务方法进行拦截,而后判断用户是否有权限访问,有权限的话就允许执行业务方法,否则就不允许执行业务方法。

    也即:将目标对象的所有业务实现方法都赋予代理对象,这样,只需要给代理对象做操作即可,而不用在目标对象身上进行冗余的代码。

  • 相关阅读:
    大厂Redis高并发场景设计,面试问的都在这!
    POJ1006——中国剩余定理
    HDU3501——欧拉函数裸题
    堆-动态的排序(洛谷1801-黑匣子)
    图中欧拉回路数量
    ip地址
    网络通信概述
    网络通信概述
    软件安装与卸载
    软件安装与卸载
  • 原文地址:https://www.cnblogs.com/zhong717/p/5357022.html
Copyright © 2011-2022 走看看