Content deleted Content added
No edit summary Tags: Mobile edit Mobile web edit |
m Reverted edits by 2600:1003:B107:CAF6:F565:9BAB:BC7E:C2AF (talk) (HG) (3.3.3) |
||
Line 3:
In [[computing]], '''aspect-oriented programming''' ('''AOP''') is a [[programming paradigm]] that aims to increase [[Modularity (programming)|modularity]] by allowing the [[separation of concerns|separation of]] [[cross-cutting concern]]s. It does so by adding additional behavior to existing code (an [[Advice (programming)|advice]]) ''without'' modifying the code itself, instead separately specifying which code is modified via a "[[pointcut]]" specification, such as "log all function calls when the function's name begins with 'set'". This allows behaviors that are not central to the [[business logic]] (such as logging) to be added to a program without cluttering the code, core to the functionality. AOP forms a basis for [[aspect-oriented software development]].
AOP includes programming methods and tools that support the modularization of concerns at the level of the source code, while "aspect-oriented
Aspect-oriented programming entails breaking down program logic into distinct parts (so-called ''
[[data logging|Logging]] exemplifies a crosscutting concern because a logging strategy necessarily affects every logged part of the system. Logging thereby ''crosscuts'' all logged classes and methods.
|