1.0 KiB
1.0 KiB
AOP가 필요한 상황
- 만약 모든 메소드의 호출 시간을 측정하고 싶다면?
공통 관심 사항(cross-cutting concern)vs핵심 관심 사항(core concern)- 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면?
- 즉,
공통 관심 사항과핵심 관심 사항을 분리해서 적용하고 싶을 때 사용한다.
추가설명
- 실제 운영에서는 처음에 서버를 올리고 이것저것 호출하는
warmUp이라는 것을 한다.
문제
- 회원가입, 회원 조회에 시간을 측정하는 기능은
핵심 관심 사항(핵심 비즈니스 로직)이 아니다. - 시간을 측정하는 로직은
공통 관심 사항(공통 비즈니스 로직)이다. - 시간을 측정하는 로직과
핵심 비즈니스의 로직이 섞여서 유지보수가 어렵다. - 시간을 측정하는 로직을 별도의 공통 로직으로 만들기 매우 어렵다.
- 시간을 측정하는 로직을 변경할 때 모든 로직을 찾아가면서 변경해야 한다.