Что такое Aspect Oriented Programming (AOP) и как это помогает организовать код, отделяя друг от друга разные задачи? — ДейлиПреп