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)

大家都在看

  • C#实现无物理边距 可打印区域的绘图打印 z

    经常在开发实际的应用程序中,需要用到图形绘制和打印程序。如何实现完整的精确打印和绘图是需要注意许多细节地方的。最近在遇到打印问题的时候,仔细研究一阵,总结这篇博文,写得有点杂乱,看…

    技术杂谈 2023年6月1日
    094
  • System.IdentityModel.Tokens.Jwt库简单试用

    最近准备把一些外部认证接口认证改成jwt的,在 jwt.io的网站上找了下,.net的库中排名第一的是微软自家的库System.IdentityModel.Tokens.Jwt,然…

    技术杂谈 2023年5月31日
    0120
  • k8s入门教程

    1. k8s概述 Kubernetes(简称K8S) 是Google开源的分布式的容器管理平台,方便我们在服务器集群中管理我们容器化应用。 教程主要介绍怎么使用阿里云容器服务(ku…

    技术杂谈 2023年5月31日
    0117
  • 解决计划任务bat脚本中涉及网络位置时遇到的问题

    解决掉困扰几天的bug神清气爽,赶紧来写篇随笔~ 前几天由于安全原因把一个Windows Server 2012 R2上的本地硬盘SFTP换成了一个NAS SFTP 然后理所当然的…

    技术杂谈 2023年7月11日
    086
  • 基于TLSR8359的2.4G私有协议多发一收方案解析

    一 简析 1.简介 泰凌微的2.4G私有协议芯片在市场应用十分广泛。 2.特性 无线传输距离远 功耗低,接口丰富 自带mcu功能,可实现mcu+2.4G的私有功能 二 源码解析 1…

    技术杂谈 2023年5月31日
    0156
  • Python 集合相关知识

    交集:(& 或者 intersection) set1 = {1, 2, 4, 5} set2 = {4, 5, 7, 8} print(set1 & set2) …

    技术杂谈 2023年6月21日
    0117
  • C#中Hashtable的用法

    在封装题库的时候,发现传实体很受限制,每个题型都需要建立不同的实体,这 样封装的时候就需要将实体一起封装,而且添加新题型的也不够灵活,这样就想到了 HashTable,让所有的题型…

    技术杂谈 2023年5月31日
    0146
  • MySQL知识点总结(完整版)

    登录和退出MySQL服务器 登录MySQL $ mysql -u root -p12345612 退&#x…

    技术杂谈 2023年7月11日
    0126
  • Export大数据量导出和打包

    Export大数据量导出和打包 项目需求 ​ 导出生成大批量数据的文件,一个Excel中最多存有五十万条数据,查询多余五十万的数据写多个Excel中。导出完成是生成的多个Excel…

    技术杂谈 2023年7月24日
    0101
  • 一文搞懂│http和https 的通信过程及区别

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月11日
    097
  • 基础篇:一文讲懂树莓派命令行文本编辑工具Vim的使用

    简介 众所周知,在Linux系统下的命令行调试界面,经常会遇到需要文本编辑的情况,而树莓派官方系统默认自带了Nano编辑器,Nano的操作门槛更低,但却不如Vim编辑器方便。Vim…

    技术杂谈 2023年7月23日
    0100
  • Game Engine Architecture 5

    【 Game Engine Architecture 5】 1、Memory Ordering Semantics These mysterious and vexing prob…

    技术杂谈 2023年5月31日
    079
  • UI 参考

    posted @2021-10-07 09:16 DarJeely 阅读(27 ) 评论() 编辑 Original: https://www.cnblogs.com/Jeely/…

    技术杂谈 2023年5月31日
    0124
  • flutter创建项目

    一、终端方式 1、创建flutter项目: 出现: 2、先直接打开Xcode自带iOS模拟器,否则会运行在macOS (macos)或Chrome (chrome)上。 3、运行项…

    技术杂谈 2023年6月1日
    0107
  • Ubuntu20.04桌面版 使用root账号登录

    sodu -i 执行命令,输入当前用户密码,临时切换到root身份 执行passwd命令,修改root登录密码 passwd 修改50-ubuntu.conf文件 执行如下命令: …

    技术杂谈 2023年7月11日
    0138
  • chmod 755 filename

    以下为正文 chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。 一般是三个数字: 第一个数字表示文件所有者的权限 第二个数字表示与文件所有者同属一个…

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