OOP是面向对象编程与AOP是面向切面编程

OOP是面向对象编程,核心思想是将客观存在的不同事物抽象成相互独立的类,然后把与事物相关的属性和行为封装到类里,并通过继承和多态来定义类彼此间的关系,最后通过操作类的实例来完成实际业务逻辑的功能需求。

AOP是面向切面编程,核心思想是将业务逻辑中与类不相关的通用功能切面式的提取分离出来,让多个类共享一个行为,一旦这个行为发生改变,不必修改类,而只需要修改这个行为即可。

OOP与AOP的区别: 

1、面向目标不同:简单来说OOP是面向名词领域,AOP面向动词领域。

2、思想结构不同:OOP是纵向结构,AOP是横向结构。

3、注重方面不同:OOP注重业务逻辑单元的划分,AOP偏重业务处理过程的某个步骤或阶段。

OOP与AOP联系:

两者之间是一个相互补充和完善的关系。

AOP的优点:

利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。

AOP的主要应用:

日志记录、事务处理、异常处理、安全控制和性能统计方面。

在Spring中提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务和事务进行内聚性的开发。

猜你喜欢

转载自blog.csdn.net/qq_42051240/article/details/81605095