1 분 소요



spring AOP기본지식

AOP(Aspect-Oriented Programming)

AOP는 프로그래밍 패러다임 중 하나로 핵심가치, 핵심관심, 횡된 관심을 분리함으로써 시스템의 모듈화를 이뤄내는 방법론.

횡단 관심사를 중앙에서 관리하고 필요한 시점에 적용하여 코드의 가독성과 재사용성을 높이는 것이다.

핵심 비즈니스 로직에서 공통 관심 사항을 분리하여 제거함으로써 개발의 효율성을 극대화하는 것이다.

관점지향다이어그램

핵심 관심사항 = 비즈니스 로직 영역. 애플리케이션이 수행하려는 주요 작업이나 목적에 직접적으로 연결되어 있음

공통 관심사항 = 횡단 관심사와 같은 맥락에서 사용되며, 핵심 관심사를 관통하는 애플리케이션의 기반이 되는 공통적인 기능 영역임

핵심과공통을분리한다

AOP는 특정 메서드나 클래스의 실행 전후와 같은 특정 단계에서 공통기능을 자동으로 실행하도록 지원한다.

AOP용어설명

AOP용어설명

aop가 등장한 이유

AOP가 등장한 이유 중 하나는 중복 코드를 제거하기 위함입니다. 중복 코드는 코드의 가독성, 유지 보수성, 확장성을 저하시키는 요소로 작용할 수 있습니다.

중복 코드 제거

애플리케이션에서 반복적으로 발생하는 공통 로직을 분리하여 모듈화함으로써 중복 코드를 제거할 수 있습니다.

관점 분리

핵심 비즈니스 로직과 부가적인 기능(로깅, 보안, 트랜잭션 관리 등)을 분리하여 코드를 구조화함으로써 가독성과 유지 보수성을 향상시킬 수 있음.

결합도 감소

AOP를 통해 핵심 비즈니스 로직과 부가 기능을 분리함으로써 두 요소 간의 강한 결합도를 낮출 수 있음. 유연한 애플리케이션 구조를 구축하고, 변경에 대한 영향 범위를 최소화하는 데 도움을 줌.

재사용성 향상

공통 관심사를 모듈화하여 재사용 가능한 측면(Aspect)으로 추출함으로써 코드의 재사용성을 향상시킬 수 있음. 이는 개발 생산성을 향상시키고, 유지 보수 비용을 줄이는 데 도움을 줌.

관점 지향적 설계

AOP는 관점 지향적(Aspect-Oriented) 설계의 개념과 패러다임을 제공함. 이를 통해 애플리케이션의 구조와 모듈 간의 관계를 명확하게 표현하고, 코드의 가독성과 이해도를 높일 수 있음.

카테고리:

업데이트:

댓글남기기