티스토리 뷰

# AOP(Aspect Oriented Programming)

AOP는 문제를 바라보는 관점을 기준으로 프로래밍하는 기법을 의미한다.

문제를 해결하기 위한 핵심 관심 사항과 전체에 적용되는 공통 관심 사항을 기준으로 프로그래밍함으로써 공통모듈을 여러 코드에 쉽게 적용할 수 있도록 한다

- 공통 관심 사항 : 공통 기능으로 어플리케이션 전반에 걸쳐 필요한 기능

- 핵심 관심 사항 : 핵심 로직, 핵심 비즈니스 로직

 

# 용어

- Joinpoint : Advice를 적용 가능한 지점을 의미한다. 메서드 호출, 필드 값 변경 등이 이에 해당한다.

- Advice : Joinpoint의 부분 집합으로서 실제로 Advice가 적용되는 조인포인트를 나타낸다.

- Pointcut : 언제 공통 관심 기능을 핵심 로직에 적용할 지를 정의하고 있다.

- Weaving : Advice를 핵심 로직 코드에 적용하는 것을 말한다.

- Aspect : 여러 객체에 공통으로 적용하는 기능을 말한다.

 

# Advice의 종류

Before Advice : 대상 객체의 메서드 호출 전에 공통 기능을 실행한다.

After Returning Advice : 대상 객체의 메서드가 익셉션 없이 실행된 이후에 공통 기능을 실행한다.

After Throwing Advice : 대상 객체의 메서드를 실행하는 도중 익셉션이 발생한 경우에 공통 기능을 실행한다.

After Advice : 대상 객체의 메서드를 실행하는 도중에 익셉션이 발생했는지의 여부에 상관없이 메서드 실행 후 공통 기능을 실행한다.

Around Advice : 대상 객체의 메서드 실행 전, 후 또는 익셉션 발생 시점에 공통 기능을 실행하는데 사용된다.

 

댓글
최근에 올라온 글
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Total
Today
Yesterday