프로그래밍/Spring

AOP

Jay Tech 2017. 1. 2. 22:06
반응형

비지니스 로직과 부가기능을 처리하는 코드가 뒤섞이지 않게 AOP를 도입하여 부가기능을 도입하여 모듈화를 한다.


AOP란? (Aspect Oriented Programming)


어플리케이션에서 관심사의 분리(기능의 분리)를 말한다. 즉, 핵심적인 기능에서 부가기능들을 분리한다. 분리한 부가기능을  Aspect라는 독특한 모듈형태로 만들어서 설계하고 개발하는 방법이다.


Aspect??


Advice + Pointcut => Aspect 

에스팩트는 싱글톤 형태의 객체로 존재한다.


Advisor


Advice + PointCut


Weaving


위빙은 포인트컷에 의해서 결정된 타겟의 조인 포인트에 부가기능(어드바이스)를 삽입하는 과정

AOP가 핵심기능(타겟)의 코드에 영향을 주지 않으면서 필요한 부가기능(어드바이스)을 추가할 수 있돋록 해주는 핵심적인 처리과정이다.



기존 어플리케이션과 AOP를 적용한 어플리케이션의 관계 차이도






결과물을  Primary  Concern에 적용하는 과정을  Weaving 이라 한다.







반응형