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

时间:2015-02-26 06:25:41

标签: oop aop

什么是面向方面编程?面向方面编程(ASP)能否取代面向对象编程(OOP)?请用坚实的论据回复。

1 个答案:

答案 0 :(得分:1)

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

日志记录举例说明了横切关注点,因为日志记录策略必然会影响系统的每个记录部分。 记录从而横切所有记录的类和方法。


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

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

1)每个问题的逻辑现在都放在一个地方,而不是分散在整个代码库中。

2)类更清晰,因为它们只包含主要关注点(或核心功能)的代码,而次要问题已转移到各个方面。