Aspect-Oriented Programming

What Does Aspect-Oriented Programming Mean?

Aspect-oriented programming (AOP) is a programming paradigm that isolates the supporting functions from the main program’s business logic.


AOP includes programming methods and tools supporting modularization of concerns at the source code level, but it may also refer to the entire software engineering discipline.

Techopedia Explains Aspect-Oriented Programming

The loss of modularity occurs at the intersection between concerns, and modularity is returned using AOP. This process of intersection, also known as weaving, occurs at build or runtime.

Weaving helps in a number of processes, such as:

  • Replacing method bodies with new implementations
  • Inserting code before and after method calls
  • Implementing variable reads and writes
  • Associating new states and behaviors with existing classes

AOP logic is implemented in an aspect class independent of later-augmented classes. Once implemented, it can be attached to any library class without aspect class awareness.


Related Terms

Margaret Rouse
Technology Expert

Margaret is an award-winning technical writer and teacher known for her ability to explain complex technical subjects to a non-technical business audience. Over the past twenty years, her IT definitions have been published by Que in an encyclopedia of technology terms and cited in articles by the New York Times, Time Magazine, USA Today, ZDNet, PC Magazine, and Discovery Magazine. She joined Techopedia in 2011. Margaret's idea of a fun day is helping IT and business professionals learn to speak each other’s highly specialized languages.