ProxyAOP(Aspect Oriented Programming) : 관점 지향 프로그래밍


기능을 핵심 비지니스 로직과 공통 모듈로 구분하고, 핵심 로직에 영향을 미치지 않고 사이사이에 공통 모듈을 효과적으로 잘 끼워넣도록 하는 개발 방법이다. 공통모듈(트랜잭션/로그/보안/인증 처리 등)을 만든 후에 코드 밖에서 이 모듈을 비지니스 로직에 삽입하는 것이 바로 AOP 적인 개발이다. 코드 밖에서 설정된다는 것이 핵심이다.


core concern 핵심 관심

프로그램을 작성하려는 핵심 가치와 목적이 드러난 관심 영역으로 보통 핵심 비지니스 기능에 해당한다.

cross cutting concern 횡단관심 

핵심 관심에 영향을 주는 프로그램의 영역으로, 로깅과 트랜잭션, 인증처리와 같은 시스템 공통 처리 영역이 해당된다.


join-point

횡단 관심 모듈의 기능이 삽입되어 동작 할 수 있는 실행 가능한 특정 위치


point-cut

어떤 클래스의 어느 조인포인트를 사용 할 것인지를 결정하는 선택기능

advice

join-point에 삽입되어저 동작 할 수있는 코드


aspect (advisor) = point-cut + advice


weaving (crossCutting)

포인트컷에 의해서 결정된 조인포인트에 지정된 어드바이스를 삽입하는 과정


Target Object

대상 객체는 충고(Advice)를 받는 객체이다. Spring AOP는 런타임 프록시를 사용하므로 대상 객체는 항상 프록시 객체가 된다.


Proxy

AOP 프록시(Proxy)는 대상 객체(Target Object)에 Advice가 적용된 후 생성되는 객체이다.


dynamic proxy 

A proxy that creates the actual proxy class at runtime.












'기타' 카테고리의 다른 글

양념  (0) 2017.07.25


'기타' 카테고리의 다른 글

AOP  (0) 2017.07.26

+ Recent posts