Aspect Oriented
In plain terms
Separating cross-cutting concerns from core business logic.
Going deeper
Aspect-oriented programming extracts concerns like logging, security, and transactions that span many modules into reusable 'aspects' woven in automatically. It reduces scattered duplicate code.
Under the hood
Aspects are applied at join points via pointcuts, often through proxies or bytecode weaving; Spring AOP is a common example.
Examples
Spring AOP, logging/security/transaction interceptors, method profiling.
Think of it like...
Like a building's sprinkler system threaded through every room without each room installing its own.