Computing Programming Paradigm Modularity Separation of Cross-Cutting Concerns Aspect-Oriented Software Development
Aspect-oriented programming (AOP) aims to increase modularity by separating cross-cutting concerns. AOP breaks down program logic into distinct parts called concerns or areas of functionality. While most programming paradigms support grouping concerns, some concerns called cross-cutting concerns cut across multiple abstractions. Logging is an example as it affects every logged part of a system. All AOP implementations encapsulate each concern in one place but differ in constructs provided, like AspectJ which alters base code behavior by applying advice at join points defined in pointcuts.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
45 views1 page
Computing Programming Paradigm Modularity Separation of Cross-Cutting Concerns Aspect-Oriented Software Development
Aspect-oriented programming (AOP) aims to increase modularity by separating cross-cutting concerns. AOP breaks down program logic into distinct parts called concerns or areas of functionality. While most programming paradigms support grouping concerns, some concerns called cross-cutting concerns cut across multiple abstractions. Logging is an example as it affects every logged part of a system. All AOP implementations encapsulate each concern in one place but differ in constructs provided, like AspectJ which alters base code behavior by applying advice at join points defined in pointcuts.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 1
In computing, aspect-oriented programming (AOP) is a programming paradigm that aims to
increase modularity by allowing theseparation of cross-cutting concerns. 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 software development" refers to a whole engineering discipline. Aspect-oriented programming entails breaking down program logic into distinct parts (so- called concerns, cohesive areas of functionality). Nearly all programming paradigms support some level of grouping and encapsulation of concerns into separate, independent entities by providing abstractions (e.g., functions, procedures, modules, classes, methods) that can be used for implementing, abstracting and composing these concerns. But some concerns defy these forms of implementation and are calledcrosscutting concerns because they "cut across" multiple abstractions in a program. 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. All AOP implementations have some crosscutting expressions that encapsulate each concern in one place. The difference between implementations lies in the power, safety, and usability of the constructs provided. For example, interceptors that specify the methods to intercept express a limited form of crosscutting, without much support for type-safety or debugging. AspectJ has a number of such expressions and encapsulates them in a special class, an aspect. For example, an aspect can alter the behavior of the base code (the non-aspect part of a program) by applying advice (additional behavior) at various join points (points in a program) specified in a quantification or query called a pointcut (that detects whether a given join point matches). An aspect can also make binary-compatible structural changes to other classes, like adding members or parents.
/ ˈsloʊθ/ / ˈslɔːθ/ mammals families Megalonychidae Bradypodidae species order Pilosa anteaters arboreal jungles Central South America ground sloths suborder Latin Greek Ecuador Tagaeri Huaorani