[Spring]/Spring 기본

AOP(Aspect Oriented Programming)

팡펑퐁 2022. 10. 12. 11:32
728x90

AOP(Aspect Oriented Programming, 관심 지향 프로그래밍)

 애플리케이션의 핵심 업무 로직에서 로깅이나 보안, 트랜잭션 같은 공통 기능 로직들을 분리하는 것이다.

 

<공통 관심 사항과 핵심 관심 사항>

공통 관심 사항(Cross-cutting concern) : 애츨리케이션 전반에 걸쳐 공통적으로 사용되는 기능, 부가적인 관심사항이라고도 함

핵심 관심 사항(Core concern) : 애플리케이션의 주 목적을 달성하기 위한 비지니스 로직(핵심 로직)에 대한 관심사

 

AOP가 필요한 이유(핵심 로직에서 공통 기능을 분리하는 이유)

  • 코드의 간결성 유지
  • 객체 지향 설계 원칙에 맞는 코드 구현
  • 코드의 재사용
728x90