zoukankan      html  css  js  c++  java
  • AOP面向切面编程相关核心概念

    • 横切,通知,连接点,切入点,切面

    -横切 关注点

    • 对那些方法进行拦截,拦截后怎么处理,这些就叫横切关注点

    • 比如 权限认证,日志,事务

    • 通知 Advice

      • 在特定的切点上执行的增强处理,有5种通知,后续介绍
      • 比如需要记录日志,控制事务,提前编写好通用模块,需要的地方直接调用
    • 连接点JoinPoint

      • 要用通知的地方,业务流程在运行过程中需要插入切面的具体位置
      • 一般是方法调用前后,全部方法都可以是连接点
    • 切入点 PointCut

      • 不能全部方法都是连接点,通过特定的规则来筛选连接点,就是PointCut,选中你想要的方法
      • 在程序中主要体现为书写切入点表达式(通过通配,在正则表达式)过滤出特定的一组JointPoint连接点
      • 过滤出相应的Advice 将要发生的joinpoint地方
    • 切面 Aspect

      • 通常是一个类,里面定义 切入点+通知,定义在什么地方,什么时间点,做什么事情
      • 通知Advice指明了时间和做的事情(前置,后置等)
      • 切入点pointCut指定在什么地方干这个事情
      • web接口设计中,web层->网关层->服务层->数据层,每一层之间也是一个切面,对象和对象,方法和方法之间都是一个个切面
    • 目标target

      • 目标类,真正的业务逻辑,可以在目标类不知情的条件下,增加新的功能到目标类的链路上
    • 织入Weaving

      • 把切面(某个类)应用到目标函数的过程成为织入
    • AOP代理

      • AOP框架创建的对象,代理就是目标对象的加强
      • Spring中的AOP代理可以使用JDK动态代理,也可以是CGLIB代理
  • 相关阅读:
    过河卒(Noip2002)
    暑假学习日记2013/7/18
    暑假学习日记2013/7/16
    iOS中利用CoreTelephony获取用户当前网络状态(判断2G,3G,4G) by徐文棋
    隐藏键盘的N种方法
    cell重用
    关于viewControllers之间的传值方式
    iOS开发之工欲善其事,必先利其器
    NSLog输出格式及随机数
    iOS团队代码规范
  • 原文地址:https://www.cnblogs.com/iamplus/p/15084404.html
Copyright © 2011-2022 走看看