AOP를 언제 사용하고 왜 사용하나요? 장단점은 무엇인가요? #127
Unanswered
Chocochip101
asked this question in
Spring
Replies: 1 comment
-
AOP란 Aspect Oriented Programming 즉 관점 지향 프로그래밍으로, 스프링 프레임워크의 주요 특징 중 하나입니다. AOP는 어떠한 로직들에 대해서 공통적으로 실행되는 로직을 공통 관심사 분리하여 한 곳에서 관리하기 위해 사용됩니다. AOP의 대표적 예시로는 @transactional 애노테이션 또는 로깅 설정이 존재합니다. 서비스 클래스의 메서드 중 트랜잭션이 필요한 메서드에 @transactional 애노테이션을 붙인다면 장점이를 통해 여러 곳에서 사용되어 중복되는 로직을 하나의 코드로 관리하여 유지보수성을 향상시킬 수 있으며 코드 라인을 줄일 수 있다는 장점이 있습니다. 단점반면 AOP가 설정된 로직은 전체적인 동작을 파악하기 위해 어떻게 동작하는 지 파악하기가 어려우며 이러한 문제점에 의해 코드 가독성 저하, 학습 곡선 발생, 테스트 시에 AOP의 동작을 고려해야하기 때문에 테스트의 복잡성 증가등의 문제가 발생할 수 있습니다. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
.
Beta Was this translation helpful? Give feedback.
All reactions