- 관점 지향 프로그래밍
- DI가 어플리케이션 모듈간 결합도를 낮춘다면, AOP는 어플리케이션 전체에 사용되는 기능을
재사용
하기 위한 것. - OOP에서 바라보던 관점을 다르게 해 부가기능적 측면에서 보았을 때
공통 요소를 추출
하는 것
- OOP : 비지니스 로직의 모듈화
- 모듈화 단위의 핵심은 비지니스 로직
- 예) A 도메인에 대한 A 서비스, B 도메인에 대한 B 서비스,..
- AOP : 인프라 혹은 부가기능의 모듈화
- 대표적 예) 로깅, 트랜잭션, 보안 등
- 각각 모듈들의 주 목적 외 필요한 부가적인 기능들.
- 예) A 서비스와 B 서비스에서 공통적으로 사용되는 기능들.