2013년 7월 23일 화요일

[Spring Framework3.2강좌]AOP 용어(Aspect Oriented Programming)

Spring AOP 공부하기전에 AOP 용어에 대해 알아봅니다.

1. 결합점(Join point) 
   - 무수히 많은 Advice를 적용할 수 있는 지점
     (Aspect를 플러그인 할 수 있는 애플리케이션의 실행 지점) 
2. 교차점(pointcut) 
   - 충고가 어떤 join point에 적용되어야 하는지 정의하는 Join Point의 모임.
      Advice가 위빙(Weaving)되어야 할 하나 이상의 Join Point.
      명시적인 클래스의 이름, 메소드의 이름이나 클래스나 메소드의 이름과 패턴이 일치하는 Join Point를 지정 가능토록 해준다. 
     
3.충고(Advice) 
   - 특정 조인포인트 에서 실행되는 코드. Aspect의 실제 구현체로 Aspect가 해야할 작업,
   - Aspect가 무엇을 언제할지 정의함 
  
4. 에스팩트(Aspect)
   - Aspect는 AOP의 중심단위. Advice와 pointcut을 합친 것이다.
   - 구현 하고자 하는 횡단 관심사의 기능.
   - 애플리케이션에 포함시킬 로직의 정의와 이 로직이 실행되는 위치를 정한다. 
  
5. 대상(target) 
   - 충고를 받는 클래스를 대상(target)라고 한다. 대상은 여러분이 작성한 클래스는 물론,
     별도의 기능을 추가하고자 하는 써드파티 클래스가 될 수 있다. 
6. 위빙(Weaving) 
   - 에스펙트를 대상 객체에 적용하여 새로운 프록시 객체를 생성하는 과정을 말한다. 

7. 인트로덕션(Introduction) 
   - 기존 클래스에 소스코드 변경 없이 새 메소드나 멤버 변수를 추가하는 기능.
   - 추가 메소드나 필드를 도입해 객체의 구조를 수정하는 것 
  
8. 타겟(target) 
   - Advice가 적용될 객체, AOP에 의해 수정될 객체 
  
  
9. 프록시(Proxy) 
   - Advice를 target 객체에 적용하는 생기는 객체.
   - 클라이언트 객체 관점에서 target 객체(AOP 적용 전)와 proxy 객체(AOP 적용 후)는 차이가 없다.
   - 스프링이 런타임중 동적으로 생성
  
   

댓글 없음:

댓글 쓰기