AOP
: 객체지향 프로그래밍을 보완하는 개념으로 어플리케이션을 객체지향적으로 모듈화 하여 작성하더라도 다수의 객체들에 분산되어 중복적으로 존재하는 공통 관심사가 여전히 존재
=> AOP는 이를 횡단 관심으로 분리하여 핵심 관심과 엮어서 처리할 수 있는 방법을 제공한다.
로깅, 보안, 트랜잭션 등의 공통적인 기능의 활용을 기존의 비즈니스 로직에 영향을 주지않고 모듈화 처리를 지원하는 프로그래밍 기법이다.
주요 개념
- Join Point
- 횡단 관심 모듈이 삽입되어 동작할 수 있는 실행 가능한 특정 위치를 말함
- 메소드 호출, 메소드 실행 자체, 클래스 초기화, 객체 생성 시점 등
- PointCut
- 어떤 클래스의 어느 Join Point를 사용할 것인지를 결정하는 선택 기능을 말함
- 가장 일반적인 Join Point은 특정 클래스에 있는 모든 메소드 호출로 구성된다.
- Aspect
- 어플리케이션이 가지고 있어야할 로직과 그것을 실행해야 하는 지점을 정의한 것
- Advice와 PointCut의 조합
- Advice
- 관점(Aspect)의 실제 구현체로 결합점에 삽입되어 동작할 수 있는 코드
- 결합점(JoinPoint)과 결합하여 동작하는 시점에 따라 before advice, after advice, ,around advice 타입으로 구분된다.
- 특정 Join Point에 실행하는 코드
- Weaving
- PointCut에 의해서 결정된 JoinPoint에 지정된 Advice를 삽입하는 과정
주요 기능
- 횡단 관심 모듈이 삽입되어 동작할 수 있도록 지정하는 JoinPoint 기능
장점
- 중복 코드의 제거
- 비즈니스 로직의 가독성 향상
- 생산성 향상
- 재사용성 향상
- 변경 용이성 증대
ID Generation
: 표준 프레임워크에서 제공하는 서비스다양한 형식의 ID 구조 및 다양한 방식의 ID 생성 알고리즘을 제공하여 시스템에서 사용하는 ID를 생성하는 서비스
주요 기능
- UUID 생성
- Sequence ID 생성
UUID는 OSF에 의해 제정된 고유식별자에 대한 표준으로 특정한 유니크한 값을 뽑아낼 수 있다.1) MAC Address 사용2) IP Address 사용3) Random
'공부할 것 !' 카테고리의 다른 글
[오류] java.lang.IllegalStateException (0) | 2024.09.20 |
---|---|
chart.js를 이용해 데이터 시각화하기 (0) | 2024.08.23 |
Maven, 형상관리 (0) | 2024.08.20 |
렌더링 ( Rendering ) (0) | 2024.06.10 |
컴파일 오류와 런타임 오류 이해하기 (0) | 2024.05.27 |