Notice
Recent Posts
Recent Comments
Link
«   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
Tags
more
Archives
Today
Total
관리 메뉴

Skipalong's tistory

231201 TIL - 심화주차 체크리스트(SpringAOP) 본문

TIL

231201 TIL - 심화주차 체크리스트(SpringAOP)

Skipalong 2023. 12. 2. 02:03

오늘도 어제에 이어서 체크리스트를 체크해보겠다.

✅ 체크리스트

  • [ ] Spring AOP 를 통해 핵심기능 수행 전/후 또는 성공/실패 케이스 별로 부가기능을 추가할 수 있다.
    ->

    1.  

AOP란 위의 그림과 같이 핵심기능과 부가기능을 분리해서 다른 관점으로 보는 것을 의미한다. 부가기능을 핵심기능에 적용하는 모듈로 사용하는 설계이다.

 

이렇게 부가기능을 모듈화하는 이유는 핵심기능과 부가기능이 섞여있다면 모든 핵심기능에 부가기능을 추가한다면 동일한 코드를 하나하나 코드를 모두 작성해야해서 매우 비효율적이고 핵심기능이 추가될 때 부가기능을 깜빡하는 등의 문제가 생길 수 있기 때문에 부가기능추가에 신경을 써야하고, 핵심기능을 수정할 때 핵심기능을 이해하기 위해 부가기능의 이해까지 필요하기 때문에 비효율적이다. 또 부가기능을 변경해야한다면 핵심기능의 개수만큼 부가기능을 모두 수정해야한다. 우리가 여러줄의 동일한 로직을 메서드화하는것과 비슷한 개념인 것 같다.

 

어드바이스로 핵심기능 수행전/후 호출 전/후 등의 부가기능의 적용시점을 정하고 포인트컷으로 어느곳에서 부가기능을 실행할 지 정하는 개념인 것 같다.

 

아직은 개념적으로 이런 설계 방법이다 라는정도밖에 이해하지 못했지만 이것도 하다보면 늘겠지...

 

현재 월요일까지 개인과제를 수행하고 있는데 테스트코드 작성하는것도 아직 감이 오지 않는다. 주말동안에도 열심히 해봐야겠다. 내일은 조금 더 발전했으면 좋겠다.