What is Aspect-Oriented Programming (AOP)?

Aspect-Oriented Programming (AOP): Here, we are going to learn about the Aspect-Oriented Programming, its history, execution, etc.
Submitted by Anushree Goswami, on January 08, 2021

AOP: Aspect-Oriented Programming

AOP is an abbreviation of "Aspect-Oriented Programming". It is a programming paradigm that aspires towards raising modularity by enabling the partition or division of cross-cutting concerns in computing. It raises modularity by adding up supplemented activities to presented code (advice) devoid of altering the code itself; as an alternative individually indicating which code is customized through a "pointcut" design, such as "log all function calls when the function's name starts with a code 'set'".

This enables activities that are not essential to the business logic, as an example: logging, which is to be supplemented to a program devoid of disordering the code, central part to the usefulness and service. AOP structures a foundation for aspect-oriented software development.
AOP comprises techniques and tools of programming that hold up and maintain the modularization of concerns at the point of the source code, whereas "aspect-oriented software development" alludes to a complete engineering order and regulation.


  • AOP has a number of direct predecessors A1 and A2:
    1. Reflection and Metaobject protocols.
    2. Subject-oriented programming.
    3. Composition Filters and Adaptive Programming.
  • The precise idea of AOP was developed by Gregor Kiczales and colleagues at Xerox PARC, and they followed this with the AspectJ AOP extension to Java.
  • In 2001, IBM's research team planned and projected Hyper/J and the Concern Manipulation Environment by following a tool approach over a language design approach, which has not seen broad practice or usage.
  • The Microsoft Transaction Server is well thought-out to be the original chief application of AOP followed by Enterprise JavaBeans.

AOP Executions

The following mentioned below programming languages have executed AOP, within the language, or as a peripheral library, which comprises:

  • .NET Framework languages (C# / VB.NET)
    • PostSharp is a commercial AOP execution with a free however limited edition.
    • Unity, it makes available an API to make easily verified practices in core areas of programming comprising data access, security, logging, exception handling, and others.
  • ActionScript
  • Ada
  • AutoHotkey
  • C / C++
  • The Cocoa Objective-C frameworks
  • ColdFusion
  • Common Lisp
  • Delphi
  • Delphi Prism
  • e (IEEE 1647)
  • Emacs Lisp
  • Groovy
  • Haskell
  • Java
  • AspectJ
  • JavaScript
  • Logtalk
  • Lua
  • make
  • Matlab
  • ML
  • Perl
  • PHP
  • Prolog
  • Python
  • Racket
  • Ruby
  • Squeak Smalltalk
  • UML 2.0
  • XML

Reference: Aspect-oriented programming

Algo tagged in: Dictionary – 'A'

Comments and Discussions!

Load comments ↻

Copyright © 2024 www.includehelp.com. All rights reserved.