AOP가 필요한 상황

C언어에서 포인터 같은 존재로, 많은 사람들이 개발자이기를 포기하게 만드는 마의 구간이지만 언제 필요한지를 알게 되면 잘 쓸 수 있다!

  • 모든 메소드의 호출 시간을 측정하고 싶다면?

  • 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern)

  • 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면?

문제는

  • 회원가입, 회원 조회 시간 측정은 핵심 관심 사항이 아니다.

  • 시간 측정 로직은 공통 관심 사항이다.

  • 시간 측정 로직과 핵심 비즈니스 로직이 섞여서 유지보수가 어렵다.

  • 시간 측정 로직을 별도의 공통 로직으로 만들기 매우 어렵다.

  • 시간 측정 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다.

Last updated