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

스프링에서 또 다른 중요한 개념으로는 AOP가 있다. AOP는 Aspect Oriented Programming을 줄인 표현이다.

직역하면 관점 지향 프로그래밍이다. 조금 의미를 풀어 설명하자면 프로그래밍에 대한 관심을 핵심 관점, 부가 관점으로 나누어 관심 기준으로 모듈화하는 것을 의미한다.

 

예를 들어 계좌 이체, 고객 관리하는 프로그램이 있을 때 각 프로그램에는 로깅 로직, 즉, 지금까지 벌어진 일을 기록하기 위한 Logic과 여러 Table을 관리하기 위한 Database Logic이 포함된다. 이때 핵심 관점은 계좌 이체,고객 관리 로직이고, 부가 관점은 로깅,데이터베이스 연결 로직이다. 실제 프로그램의 기능으로 로직을 정리하면 다음 그림과 같다. 

 

 

그림 반응이 좋아서... 감사합니다..?

그림을 보면 로깅, 데이터베이스 연결은 모두 계좌 이체와 고객관리에 필요하다. 여기에 AOP 관점을 적용하면,

부가 관점에 해당하는 Logic을 modularized하여 앞에서 본 그림처럼 개발할 수 있게 해준다.

다시 말해, 부가 관점 코드를 핵심 관점 코드에서 분리할 수 있게 해준다. 

그 결과 프로그래머는 핵심 관점 코드에만 집중할 수 있게 될 뿐만 아니라 프로그램의 변경과 확장에도 유연하게 대응 할 수 있어 좋다.

 

Reference : 스프링 부트 3 백엔드 개발자 되기 - 자바 편

http://www.yes24.com/Product/Goods/118625612

 

스프링 부트 3 백엔드 개발자 되기 - 자바 편 - YES24

- 자바 백엔드 개발자가 되고 싶다면- 자바 언어 입문 그다음에 꼭 보세요실력을 갖춘 개발자로 성장하려면 시작이 중요합니다. 그래서 이 책은 무엇부터 익혀야 하는지 막막한 입문자에게 백엔

www.yes24.com

 

'스프링부트' 카테고리의 다른 글

@SpringBootApplication  (0) 2023.05.18
Portable Service Abstraction  (0) 2023.05.18
Bean / Spring Container  (0) 2023.05.18
IoC(Inversion of Control)/DI(Dependency Injection)  (0) 2023.05.18
th 문법(with)  (0) 2023.05.14

+ Recent posts