-
스프링퀵스타트 스프링AOPSpring/Spring Quick Start 2019. 5. 22. 08:28
AOP 관점 지향 프로그래밍(Aspect Oriented Programming) OOP 객체 지향 프로그래밍(Object Oriented Programming) 비즈니스 컴포넌트 개발에서 가장 중요한 두 가지 원칙은 낮은 결합도와 높은 응집도를 유지하는 것이다. 스프링의 의존성 주입(dependency injection)을 이용하면 비즈니스 컴포넌트를 구성하는 객체들의 결합도를 떨어뜨릴 수 있어서 의존관계를 쉽게 변경할 수 있다. 스프링의 IoC가 결합도와 관련된 기능이라면, AOP(Aspect Oriented Programming)는 응집도와 관련된 기능이라고 할 수 있다.
AOP 응집도와 관련 IoC 결합도와 관련 AOP 이해
새로운 메소드를 구현하는 가장 일반적인 방법은 기존에 잘 만들어진 메소드를 복사해서 구현하는 것이다. 이렇게 되면 비즈니스 메소드에 부가적인 코드들이 반복해서 등장한다. 따라서 코드 분석과 유지보수를 어렵게 만든다. AOP는 이러한 부가적인 공통 코드들을 효율적으로 관리하는데 주목한다.
AOP를 이해하는데 가장 중요한 핵심 개념이 바로 관심 분리(Separation of Concerns)이다. AOP에서는 메소드마다 공통으로 등장하는 로깅이나 예외, 트랜잭션 처리 같은 코드들이 횡단 관심(Crosscutting Concerns)이라고 한다. 이에 반해 사용자의 요청에 따라 실제로 수행되는 핵심 비즈니스 로직을 핵심 관심(Core Concerns)이라고 한다.
문재는 기존의 OOP 언어에서 완벽한 관심 분리가 어렵다는 점이다.
p154
'Spring > Spring Quick Start' 카테고리의 다른 글
스프링퀵스타트 AOP용어 및 기본설정 (0) 2019.05.23 스프링퀵스타트 xml 파일 오류 발생 및 해결 (0) 2019.05.23 스프링퀵스타트 비즈니스 컴포넌트 실습2 (0) 2019.05.22 스프링퀵스타트 비즈니스 컴포넌트 실습1 (0) 2019.05.21 스프링퀵스타트 어노테이션 기반 설정 (0) 2019.05.21 댓글