谈谈你对AOP的理解

桃扇骨 2022-09-14 08:58 621阅读 0赞

系统是由许多不同的组件所组成的,每一个组件各负责一块特定功能。除了实现自身核心功能之外,这些组件还经常承担着额外的职责。例如日志、事务管理和安全这样的核心服务经常融入到自身具有核心业务逻辑的组件中去。这些系统服务经常被称为横切关注点,因为它们会跨越系统的多个组件。
当我们需要为分散的对象引入公共行为的时候,OOP则显得无能为力。也就是说,OOP允许你定义从上到下的关系,但并不适合定义从左到右的关系。例如日志功能。日志代码往往水平地散布在所有对象层次中,而与它所散布到的对象的核心功能毫无关系。
在OOP设计中,它导致了大量代码的重复,而不利于各个模块的重用。
AOP:将程序中的交叉业务逻辑(比如安全,日志,事务等),封装成一个切面,然后注入到目标对象(具体业务逻辑)中去。AOP可以对某个对象或某些对象的功能进行增强,比如对象中的方法进行增强,可以在执行某个方法之前额外的做一些事情,在某个方法执行之后额外的做一些事情

发表评论

表情:
评论列表 (有 0 条评论,621人围观)

还没有评论,来说两句吧...

相关阅读

    相关 谈谈spring aop理解

    谈谈你对AOP的理解 AOP是面向切面编程,我感觉aop与动态代理是一家,因为aop的实现原理即时基于动态代理实现的。 AOP的具体思想就是: 只专注纵向的业

    相关 谈谈AOP理解

    AOP的全称是Aspect Oriented Programming,即 面向切面编程 。是 实现功能统一维护 的一种技术,它 将业务逻辑的各个部分进行隔离(比如安全

    相关 谈谈AOP理解

    系统是由许多不同的组件所组成的,每一个组件各负责一块特定功能。除了实现自身核心功能之外,这些组件还经常承担着额外的职责。例如日志、事务管理和安全这样的核心服务经常融入到自身具有