언제 왜 쓰는지 알면 어렵지않아

디테일한 이론과 용어 설명하다보면 어려워지는거뿐

AOP가 필요한 상황

요즘우리 시스템 문제있는거같은데 모슨 메서드 호출시간을 측정해보시게!

모든 메소드 시작과 끝에 시간측정하는걸 만들어줘야하는거지

근데 갑자기 상사가 나타나가지고 초단위로 찍으니까 잘 안나오네 ms로 바꿔줘. 수천개 메소드를 들어가서 찍는 로직 만들겠지..

공통메서드로 할수있는것도 아니고...할수있긴한데 그것도 좀 복잡해요

이런거하다가 하루가는거죠 그냥

문제가 뭡니까?

회원가빙 회원조회 시간을 측정하는기능은 핵심로직이 아니야

시간을 특정하는 로직은 공통의 관심 사항이야.

공통적으로 여러메소드에 시간을 측정하고싶어

로직이 섞여있어서 유지보수가 어려워져

시간을 측정하는 로직을 별도의 공통 로직으로 만들기가 어려워

시간을 측정하는 로직을 변경할때 모든 로직을 찾아가서 변경해야해..어렵잖아

비즈니스로직이 core concern 공통관심사항이 cross-cutting concern

AOP쓰면 돼요~