aop 的几个问题

Wikipedia 里对 AOP 是这么介绍的:

An aspect can alter the behavior of the base code by applying advice (additional behavior) at various join points (points in a program) specified in a quantification or query called a pointcut (that detects whether a given join point matches).

AOP技术将软件系统划分成了核心关注点和横切关注点两部分,业务的核心功能则为核心关注点,与业务无关或者关系不大的则为横切关注点。

横切关注点总是作用于核心关注点周围,且对应的业务含义类似,系统开发中常见的如:权限认证、事务管理、日志记录(如所有请求接口的入参都需要记录到日志中)等都属于横切关注点。

AOP技术的出现,将系统的核心关注点和横切关注点分离,避免了非核心业务耦合在核心业务中,降低了模块间的耦合度,提高了系统的可读性、可操作性和可维护性。

面向切面编程(AOP)实现的效果就是在不修改源代码的情况下,给系统中的某些组件添加某些与核心业务无关的通用逻辑,

面向织入规则编程:

目标
关注点分离:实现什么横向功能

抽象与可变性

实现:
1、修改哪里(规则),
2、怎么(何时)修改:规则扫描与织入时机
3、修改成啥样

AOP 机制(引擎)定义了一套规则和框架,输入修改目标和规则,引擎自动完成目标代码修改。

Original: https://www.cnblogs.com/feng9exe/p/16325358.html
Author: zzfx
Title: aop 的几个问题

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/545584/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • String为什么不是基本数据类型

    java虚拟机处理基础类型与引用类型的方式是不一样的,对于基本类型,java虚拟机会为其分配数据类型实际占用的内存空间,对于引用类型变量,他仅仅是一个指向堆区中某个实例的指针。 O…

    技术杂谈 2023年6月21日
    098
  • FPGA学习-1,ModelSim 仿真

    参考https://blog.csdn.net/xy_z_H/article/details/124825179补充1、用到的两个文件(手敲一遍)BCD.v module BCD(…

    技术杂谈 2023年6月1日
    0118
  • C7N 删除时候,取消按钮默认的 loading 状态

    场景: 在 C7N 组件中,当按钮绑定ds后,调用 delete 方法,会触发 Button 的 loading 效果,最终导致按钮长度变大,超过范围导致换行 思路: ds 的 d…

    技术杂谈 2023年5月30日
    094
  • 选择排序/插入排序/冒泡排序

    选择排序 首先在这整个数组范围里找到最小的元素1,然后和第一名的位置交换,之后我们在剩下的部分再找最小的元素2,把2和第二名的位置来交换,以此类推。 selectionSort t…

    技术杂谈 2023年7月23日
    074
  • docker的相关命令

    docker的相关命令 1.安装docker: (1)yum -y install docker ​ sudo sh get-docker.sh 2.从远程拉取应用的镜像源: do…

    技术杂谈 2023年7月24日
    068
  • 【邂逅Django】——(一)创建项目

    🔥 邂逅Django – 目录 ✅ Part 1:【邂逅Django】—— (一)创建项目 🛠️ Part 2:【邂逅Django】—— (二)数据库配置 🛠️ Par…

    技术杂谈 2023年7月24日
    072
  • Zookeeper选举Leader源码剖析

    开始分析 【1】分析入口类做了什么 //org.apache.zookeeper.server.quorum包下QuorumPeerMain类 public static void…

    技术杂谈 2023年7月23日
    072
  • 数据库时间格式处理

    使用 DateUtil转换,这个还是比较常用的一种,下面贴代码(可以直接复制使用): /** * 日期工具类,注意导包import和package * StringUtils,Da…

    技术杂谈 2023年7月25日
    080
  • 《Microsoft Teams平台完全手册》开工

    上个月,因为一些意外情况,博客园曾经一度无法发布文章,博客园团队日夜奋战解决问题。他们的努力,和坚持,不见得每个人都理解,我是深表敬意的。 最近,我又开始写一本书稿,是关于Micr…

    技术杂谈 2023年5月31日
    088
  • 除了影响因子 还有哪些指标可以评价论文的价值

    除了影响因子,还有哪些指标可以评价论文的价值?一提起论文价值,恐怕首先想到的是影响因子。尤其是在中国,影响因子对于科研人员和工作者真是命根,晋级,升迁,申请基金,评奖等等无不与影响…

    技术杂谈 2023年5月31日
    0114
  • MySQL-指定排序

    where twui.id = #{operatorId} order by FIELD(cardStatus, 2, 1, 3), tpa.create_time Origina…

    技术杂谈 2023年6月21日
    0102
  • 字节跳动-财经-校招内推

    【团队介绍】 我们为字节跳动生态的抖音电商、直播、教育、健康、内容付费等场景服务,依托字节跳动的科技能力和产品,为用户提供更好的支付、消费金融、保险等金融服务体验。科技创新,普惠大…

    技术杂谈 2023年5月31日
    0103
  • python 格式化 小数

    python;gutter:true;</p> <blockquote> <blockquote> <blockquote> &lt…

    技术杂谈 2023年7月11日
    084
  • SRE网站可靠性工程师

    SRE网站可靠性工程师 SRE需要做什么? 故障模式,尤其是SPOF(单点故障)。消除SPOFs是你作为SRE最大的挑战和乐趣。 基础设施组件,从应用程序到硬件(服务器、交换机、路…

    技术杂谈 2023年5月31日
    077
  • Elasticsearch如何修改Mapping结构并实现业务零停机

    Elasticsearch 版本:6.4.0 一、疑问 在项目中后期,如果想调整索引的 Mapping 结构,比如将 ik_smart 修改为 ik_max_word 或者 增加分…

    技术杂谈 2023年7月24日
    070
  • Game Engine Architecture 4

    【 Game Engine Architecture 4】 1、a model of multiple semi-independent flows of control simp…

    技术杂谈 2023年5月31日
    096
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球