SpringAOP的基本概念以及和OOP的不同和比较

简介: SpringAOP的基本概念以及和OOP的不同和比较

SpringAOP的基本概念以及和OOP的不同和比较


AOP(面向切面编程)与OOP(面向对象编程)

AOP提供了与AOP不同的抽象软件结构的视角,

程序的基本单元
OOP
AOP 切面

在业务处理代码中通常有日志记录、性能统计、安全控制、事物处理、异常处理等操作。

尽管,使用OOP可以通过封装或继承的方式达到代码的重用,但仍然有同样的代码分散在各个方法中。

因此,采用OOP处理日志记录等操作:

(1)增加了开发者的的工作量

(2)提高了升级维护的困难

为了解决此类问题,AOP思想产生了

**AOP采用:**横向抽取机制,即将分散在各个方法中的的重复代码提取出来,然后在程序编译或者运行阶段将这些抽取出来的代码应用到需要执行的地方。这是OOP无法办到的,因为OOP实现的是父子关系的纵向重用。

需要注意的是AOP不是OOP的替代品,而是OOP的补充,他们是相辅相成的。

附:AOP横向抽取机制的与切面的关系图

相关文章
|
2月前
|
设计模式 Java
一文掌握 Java 面向对象精髓:从类定义到对象实战
【6月更文挑战第15天】Java面向对象编程初学者指南:类是对象模板,如`Person`类含`name`和`age`属性。创建对象用`new`,如`Person person = new Person()`。访问属性如`person.name="Alice"`,调用方法如`person.sayHello()`。类能继承,如`Student extends Person`。对象间共享数据可传参或共用引用。多态性允许父类引用调用子类方法。注意对象生命周期和内存管理,避免内存泄漏。通过实践和理解这些基础,提升编程技能。
19 0
|
3月前
|
Java
04|零基础玩转面向对象编程:Java OOP
04|零基础玩转面向对象编程:Java OOP
18 0
|
11月前
|
存储 安全 C#
C#OOP之四 深入理解方法
C#OOP之四 深入理解方法
23 0
|
3月前
|
Java
Java基础知识: 解释一下面向对象编程(OOP)的概念。
Java基础知识: 解释一下面向对象编程(OOP)的概念。
71 0
|
9月前
|
设计模式 Java 开发者
深入Java了解面向对象编程(OOP)
深入Java了解面向对象编程(OOP)
|
10月前
|
存储 Java 程序员
Java的第五篇文章——面向对象的编程思想(类和对象)
Java的第五篇文章——面向对象的编程思想(类和对象)
Java继承:面向对象编程的基石
在面向对象编程(OOP)的世界里,继承是一块不可或缺的基石。Java作为一门强大的面向对象编程语言,自然也拥有继承这一重要特性。本篇文章将带您深入了解Java继承的概念、工作原理以及如何在实际开发中巧妙应用。
面向对象(OOP)、类的基本概念
面向对象基本概念 - 我们之前学习的编程方式就是 **面向过程** 的 - **面相过程** 和 **面相对象**,是两种不同的 **编程方式**
|
XML Java 数据安全/隐私保护
springAOP中的基本概念
springAOP中的基本概念
102 0
springAOP中的基本概念
|
安全 Java 自动驾驶
java面试题:在SpringAOP中,关注点和横切关注的区别是什么?
java面试题:在SpringAOP中,关注点和横切关注的区别是什么?
java面试题:在SpringAOP中,关注点和横切关注的区别是什么?