Что такое АОП?
В любых крупных проектах появляются задачи, которые затрагивают множество различных классов. Например логирование, кеширование, профилирование и т.д. Чаще всего это приводит вот к такому коду:
AddToLog("Начало записи в файл.");
// Здесь какие-либо действия.
AddToLog("Конец записи в файл.");
Некрасиво, неудобно, легко забыть.
Парадигма аспектно-ориентированного программирования (АОП) предлагает выносить такую функциональность в отдельные классы (логично, не правда ли?) и подключать их к коду. read more