Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oop 面向方面/面向对象编程?_Oop_Aop - Fatal编程技术网

Oop 面向方面/面向对象编程?

Oop 面向方面/面向对象编程?,oop,aop,Oop,Aop,什么是面向方面编程?面向方面编程(ASP)能否取代面向对象编程(OOP)?请用有力的论据回答 在计算领域,面向方面编程(AOP)是一种编程范式,旨在通过允许分离横切关注点来提高模块化程度。AOP是面向方面软件开发的基础。AOP包括在源代码级别支持关注点模块化的编程方法和工具。面向方面的编程需要将程序逻辑分解为不同的部分(所谓的关注点,功能的内聚区域)。几乎所有的编程范式都通过提供可用于实现、抽象和组合这些关注点的抽象(例如,函数、过程、模块、类、方法),支持将关注点分组和封装到独立的实体中。一些

什么是面向方面编程?面向方面编程(ASP)能否取代面向对象编程(OOP)?请用有力的论据回答

在计算领域,面向方面编程(AOP)是一种编程范式,旨在通过允许分离横切关注点来提高模块化程度。AOP是面向方面软件开发的基础。AOP包括在源代码级别支持关注点模块化的编程方法和工具。面向方面的编程需要将程序逻辑分解为不同的部分(所谓的关注点,功能的内聚区域)。几乎所有的编程范式都通过提供可用于实现、抽象和组合这些关注点的抽象(例如,函数、过程、模块、类、方法),支持将关注点分组和封装到独立的实体中。一些关注点“跨越”了程序中的多个抽象,并挑战了这些实现形式。这些关注点称为横切关注点

日志记录是横切关注点的一个例子,因为日志记录策略必然会影响系统中记录的每个部分。因此,日志横切所有记录的类和方法


首先,AOP不会取代OOP。AOP扩展了OOP

我们不应该将AOP视为OOP的替代品,更应该将其视为一个不错的附加组件,它使我们的代码更加干净、松散耦合,并专注于业务逻辑。因此,通过应用AOP,您将获得两大好处:

1) 每个关注点的逻辑现在都在一个地方,而不是分散在整个代码库中

2) 类更干净,因为它们只包含主要关注点(或核心功能)的代码,次要关注点已转移到方面。

检查此bro->