0% 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.
Copyright
© © All Rights Reserved
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% 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.
Copyright
© © All Rights Reserved
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.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy