반응형

Core Concerns : 특정 시스템의 핵심 가치와 고유 목적이 그대로 드러난 관심영역

Crosscutting Concerns ; 로깅, 보안, 트랜잭션 관리등과 같이 여러 모듈간 공통적으로 적용되는 공통 관심영역

1. JoinPoint

- Crosscutting Concerns 모듈이 삽입되어 실행될수 있는 특정 위치

- 제어 흐름중의 한 시점(메소드 호출시점, 예외 던져지는 시점등)

2. PointCut

 - JoinPoint 중 AOP를 적용하기 위한 선별된 JoinPoint

 - Pattern Matcing과 PointCut Designator를 묶어 룰을 정함.

3. Advice

 - JoinPoint에 삽입되어 동작할 수 있는 코드

 - 동작시점 

   before : Matching 된 JoinPoint 이전에 동작하는 Advice

   after returning : Matching  된 JoinPoint가 성공적으로 return 된 후 동작하는 Advice

   after throwing : Matching  된 JoinPoint가 Exception 이 발생하여 종료된 후 동작하는 Advice

   after  : Matching  된 JoinPoint가 종료된후 동작하는 Advice

   around ; Matcing 된 Joinpoint 전후에 동작

4. Weaving 

 - Core Concerns 모듈에 Crosscutting Concerns 모듈 역어서 동작수행

5. Aspect

 - 어디에서(Pointcut) 무엇을 할 것인지(Advice)를 합쳐놓은것을 말함


728x90
반응형

'Development > Java' 카테고리의 다른 글

[Spring]SpEL(Spring Expression Language)  (0) 2012.07.31
[Spring]Autowiring  (0) 2012.05.03
[Spring]Spring Bean Scope  (0) 2012.04.09
[Spring]Dependency Injection  (0) 2012.03.21
[Spring in Action]DispatcherServlet 구성  (0) 2011.10.25
반응형

cross-cutting-concerns(횡단관심사) : 한 어플리케이션이 여러부분에 걸쳐있는 기능
aspect-oriented programming(AOP) : 횡단 관심사의 분리를 위한것 


 용어  정의
advice aspect가 해야할 작업. aspect가 '무엇'을 '언제'할지를 정의한다. 
joinpoint advice를 적용할수 있는곳, 어플리케이션 실행에 aspect를 끼워넣을수 있는 지점. 
pointcut aspect가 advice할 joinpoint 영역을 좁힌다. '어디서' 하는것을 정의한다. 
aspect advice와 pointcut을 합친것. '무엇','언제','어디서'가  앞의 2가지에 의해서 정의된다. 
target advice가 적용될 객체.  
proxy  advice를 taget 객체에 적용하면 생성되는 객체. taget객체와 proxy 객체는 차이가 없어야 한다.   
weaving target객체에 aspect를 적용해서 새로운 proxy 객체를 생성하는 절차. 
728x90
반응형

+ Recent posts