본문 바로가기
Computer Science/Theory-Java[Spring]

3. 스프링의 핵심 - AOP

by M-life 2016. 6. 29.
반응형

이번에는 Spring에서의 또 다른 핵심 기능 중 하나인, AOP에 대해 설명하려 합니다.


프로그램의 일반적인 흐름은, 요청 하나를 실행하기까지 일관적인 서비스흐름으로 진행됩니다. 즉 수평적으로 진행되지요.. 

그러나 일반적인 흐름과 다른서비스 흐름이 필요하여, 독립적인 모듈화가 불가능한 상황이 있습니다. 


로그인(Login)이나 트랜젝션(Transaction)과 같은 상황처럼 기본 로직흐름과는 다른 부가적인 서비스가  그 대표적인 예입니다.


그리고 이런 로직을 Aspect라하며, 본 로직과 다르게 모듈화하여 관리하기 위한 프로그래밍 기법이 AOP(Aspect Oriented Programming)입니다.


AOP, 즉 관점지향 프로그래밍에 대한 자세한 설명은 다음링크를 참고하세요.



관점지향프로그래밍 패러다임 : 이것은 횡단관심사의 분리를 허용하고, 관점 지향 소프트웨어 개발의 기초를 형성하여 모듈화를 증가시키려 한다. 관점 지향 소프트웨어 개발이 모든 엔지니어링 분야에 관련되는 반면에, 관점 지향 프로그래밍은 소스코드 레벨에서 관심사들의 모듈화를 지원하는 프로그래밍 기술과 툴들을 포함한다.

관점 지향 프로그래밍은 프로그램을 명확한 부분으로 나누는 것을 수반한다. 모든 프로그래밍 패러다임은 이들 관심사들을 구현, 추상화, 구성하는 추상적 개념을 제공하는 분리되고, 독립적인 통로들을 통해 Grouping의 같은 레벨과 관심사들의 캡슐화(Encapsulation)를 지원한다. 그러나 어떤 관심사들은 구현의 이런 형태를 거역하고, 이들이 프로그램 내에서 다중 추상적 개념들에 영향을 끼치기 때문에 횡단관심사(cross-cutting concerns)라고 불린다.

 http://ko.wikipedia.org/wiki/%EA%B4%80%EC%A0%90_%EC%A7%80%ED%96%A5_%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D




------------------------------------------------------------------------------------------------------------------------------------------------------------------------


저의 설명에서 부족하거나 잘못된 사항이있으면 언제든지 댓글 달아주세요!

반응형

'Computer Science > Theory-Java[Spring]' 카테고리의 다른 글

2. 스프링의 핵심 - IoC / DI  (0) 2016.06.29
1. 스프링의 시작  (0) 2016.06.27

댓글