Programming paradigm promoting separation of concerns via rules like 'whenever X happens do Y'. DHH showcased many Rails callbacks as AOP when promoting Rails in 2004; in Java, AOP is alive and well inside Spring. Krzywda's view: event-driven DDD effectively simulates AOP — events are the 'after' advice, and 'before' advice is rarely needed — which is why the AOP label itself faded while the underlying idea lives on in event-driven systems.