본문 바로가기
기초/용어정리

AOP

by 지구 2018. 5. 1.

AOP (Aspect Oriented Programming)
공통 관심사항을 구현한 코드를 핵심 로직을 구현한 코드 안에 삽입하는 것


AOP에서 등장하는 용어

  • Core Concern  : 핵심관점, 주된 업무, 꼭 해당 어플리케이션에서만 나오는 기능
  • Cross Cutting Concern : 공통모듈, 로깅, 보안, 트랜잭션 처리와 같은 어플리케이션 전반에 걸쳐 필요한 기능
  • Proxy : 메소드 인터셉팅을 통해 부수적인 코드를 삽입할 수 있는 기술, 물리적임
  • Target Object : Core Concern을 가지고 있는 객체 (=Core Concern)
  • Advice : Core ConCern 하기 전/후에 선처리/후처리로 월 할 것인가, Target Object 안에 무엇을 넣을 것인가 (=Cross Cutting Concern)
  • Weaving : 따로 개발한 것을 합치는 작업 ( Core Concern + Cross Cutting Concern )
  • Dynamic Proxy : Weaving을 통해 생성됨, 물리적이지 않음
  • Point-cut : 원하는 특정 method에 advice를 적용할 것인지 룰을 정하는 것
  • Join Point : 어디에 들러붙는지, Spring AOP는 method만 Join Point를 지원해준다 (그 외 framework에서는 들러붙을 수 있는 위치가 Field/Constructor 두개가 더 있음)
  • Aspect : Advice + Point-cut 을 추상화 함
반응형

'기초 > 용어정리' 카테고리의 다른 글

Tomcat DBCP 용어정리  (0) 2019.07.30
Spring Bean  (0) 2018.05.02
Spring  (0) 2018.05.02
Primitive data type, Reference data type  (0) 2018.05.01
객체지향 프로그래밍 (OOP)  (0) 2018.05.01

댓글