Причины использования аспектов в коде Java
В настоящее время я работаю над проектом, в котором мне нужно использовать Aspectj. В документации для каждого аспекта, который я написал, мне нужно объяснить причины использования этого аспекта, а не просто написать код в основной программе.
В общем, я думаю только о таких причинах, как повторное использование кода или гибкость (это означает, что программа может обходиться без этого аспекта, но этот аспект сделает программу более эффективной, например, проверить вещи, которые, возможно, в будущем могут вызвать проблемы), но я думаю, что этого недостаточно.
В поисках других причин я увидел, что многие программисты пишут "сквозное взаимодействие" - что это означает и почему это так важно?
1 ответ
На мой взгляд, сквозная обработка в основном заключается в разделении интересов, то есть вы можете отделить код, который обрабатывает, например, технические вещи (например, ведение журнала, авторизация, транзакции и т. Д.) От кода, который обрабатывает поле предметных вещей.
Но почему и когда это полезно?
Это особенно полезно, если ваша организация по разработке также разделяет эти вещи, то есть если некоторые разработчики отвечают за область доменного программирования, а другие - за технические уровни. Так разные люди могут писать свой код в разных местах, не мешая друг другу.
Если одни и те же люди пишут разные аспекты, все же может быть полезно иметь такое разделение интересов, но в этом случае не так уж срочно, по крайней мере, не так срочно, что вы хотите связываться с AspectJ, что вносит некоторую дополнительную сложность.