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 |
댓글