[Dev] AOP (Aspect-Oriented Programming)

양정훈·2022년 8월 9일
0

관점(관심) 지향 프로그래밍

  • 공통된 부분들을 모아 관리함
    • ex) 각 서비스들에 구현되어 있는 로깅 로직들을 모아 Logging AOP로 관리
    • 가로로 (횡으로) 공통 영역을 잘라내어 관리하므로 Cross-Cutting이라고도 부름

용어

Aspect

  • 모듈화한 관심사

Target

  • 기능을 부여할 대상 (Service ...)

Advice

  • Aspect의 실제 기능을 담은 구현체

JoinPoint

  • Advice가 적용될 위치
    • ex) 메서드에 진입할 때 동작 시킬 수 있음

PointCut

  • Advice가 적용될 구체적인 지점
    • ex) A 메서드에 진입할 때 동작시킴

Proxy

  • Target을 감싼 프록시 객체로, Target이 호출되면 전/후처리와 실제 Target 호출을 Proxy가 수행함

0개의 댓글