자라나라 개발머리

[Spring/스프링 입문] AOP 본문

프레임워크/Spring

[Spring/스프링 입문] AOP

iammindy 2023. 1. 2. 16:14

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

 

핵심 관심 사항: 각 기능의 핵심 로직

공통 관심 사항: 모든 메소드에 대부분 공통으로 필요한 로직 ( ex: 메소드 시간 측정 )

 

핵심 관심 사항과 공통 관심 사항이 섞여있는 로직은 가독성이 안 좋을 뿐더러 유지보수도 어렵다.

AOP는 이러한 문제를 해결하는 역할을 한다. 

 

 

AOP

AOP: Aspect Oriented Programming

핵심 관심 사항과 공통 관심 사항을 분리해줌

 

 

AOP 적용 후 달라지는 의존 관계

AOP를 적용하면 *프록시를 생성하여 직접적으로 객체에 의존하지 않게 된다.

 

프록시: 가짜 객체

 

 

AOP 적용 전 의존 관계