Thursday, July 02, 2009

AOP관련 용어

* Aspect - 구현물이 다중 객채를 짤라내는 것을 위한 concern의 모듈화. 트랜잭션 관리는 J2EE애클리케이션의 crosscutting concern의 좋은 예제이다. aspect는 advisor이나 인터셉터처럼 Spring을 사용하여 구현된다.

 

 

* Joinpoint - 메소드 호출이나 특정 예외를 던지는 것과 같은 프로그램을 수행하는 지점. Spring AOP에서 joinpoint는 언제나 메소드 호출이다. Spring은 두드러지게 joinpoint개념을 사용하지는 않는다. jointpoint정보는 인터셉터로 인자를 전달하는 methodinvocation의 메소드를 통해 접근가능하다. 그리고 org.springframework.aop.Pointcut인터페이스를 구현물에 의해 평가된다.

 

 

* Advice - 특정 jointpoint에서 AOP프레임워크에 의해 획득되는 액션. advice의 각각의 타입은 "around",  "before"과 "throws"를 포함한다. advice타입은 밑에서 언급된다. Spring을 포함한 많은 AOP프레임워크는 인터셉터처럼 advice를 모델화하고 joinpoint "주위"로 인터셉터의 묶음(chain)을 유지한다.

 

 

* Pointcut - advice가 수행될때를 명시하는 joinpoint의 모음. AOP프레임워크는 개발자에게 예를 틀면 정규식 표현을 사용하는 것과 같은 pointcut를 명시하도록 허용해야 한다.

 

 

* Introduction - advised 클래스에 메소드나 필드추가하기. Spring은 어떠한 advised클래스에 새로운 인터페이스를 소개(introduce)하는 것을 허용한다. 예를 들면 당신은 간단한 캐싱을 위해 IsModified인터페이스를 구현한 어떻나 객체를 만들기 위해 introduction을 사용할 수 있다.

 

 

* AOP 프록시 - AOP프레임워크에 의해 생성되는 advice를 포함한 객체. Spring에서 AOP프록시는 JDK동적 프록시나 CGLIB프록시가 될 것이다.

 

 

* Weaving - advised객체를 생성하기 위한 aspect조합. 이것은 컴파일(예를 들면 AspectJ컴파일러를 사용하는) 시각이나 수행시각에 수행될 수 있다. 다른 순수한 자바 AOP프레임워크처럼 Spring은 수행시에 작성된다.

No comments: