Аспектно-ориентированное программирование (АОП) отличается от традиционного объектно-ориентированного программирования (ООП) подходом к разделению функциональности. 3
ООП основывается на принципах абстракции, инкапсуляции, полиморфизма и наследования. 24 Классы реализуют эти концепции для построения объектов, контролирующих или реализующих систему. 2
АОП направлен на повышение модульности различных частей приложения за счёт разделения сквозных задач. 1 Для этого к уже существующему коду добавляется дополнительное поведение без изменений в изначальном коде. 1 Иными словами, на методы и классы «навешивают» сверху дополнительную функциональность, не внося поправки в модифицируемый код. 1