반응형
오늘 할 일
강의 듣기알고리즘 풀기
TIL
AOP(Aspect Oriented Programming)
- 관점 지향 프로그래밍!이라고 처음에 접했을 땐 이게 무슨 말인가 싶었다.
- 조금만 풀어 쓰자면 프로젝트에 많은 로직들이 있을 텐데 이 중 특정 로직을 기준으로 잡아 핵심 관심 사항과 공통 관심 사항으로 분리해서 바라보고 각각 모듈화시키는 것이다.
- 이전에도 작성했었지만, 모든 로직에서 프로그램 동작 시간을 측정해야 하는데 핵심 비즈니스 로직과 분리하기 어려울 때 AOP를 사용하면 간단하게 분리해 모든 로직에서 사용할 수 있다.
- 현재는 간단한 코드만 실습해봐서 클래스나 메소드로 분리하는 것과 큰 차이를 모르겠지만, 코드량이 방대해진다면 실감할 수 있을 거라고 생각한다.
- 다시 한 줄로 요약하자면, 반복되는 코드를 특정 관점으로 모듈화해서 비즈니스 로직과 분리해 재사용하는 것이다!
(1) 개념
- Aspect
- 반복되어 사용되는 로직을 모듈화한 것
- Advice + PointCut
- Target
- Aspect를 적용할 로직(class, method 등등)
- Advice
- 반복 로직의 구현체
- 타겟의 특정 조인트 포인트에 제공할 부가기능
- JointPoint
- Advice의 적용 위치(ex) 메소드 호출 이전, 이후)
- 타겟 객체가 구현한 인터페이스의 모든 메소드
- PointCut
- Advice를 적용할 Target의 메서드를 선별하는 정규표현식
- 여러 JointPoint 중 어디에 적용할지!
- Weaving
- 타겟의 조인 포인트에 Advice를 적용하는 과정
프록시
- 접근을 제어하고 싶거나, 부가 기능을 추가하고 싶을 때 기존 코드를 건드리지 않고 새 기능을 추가할 수 있다.
- 클라이언트의 실제 대상인 것처럼 위장해서 요청을 받아 대신 처리한다.
주말 할 일
- 잠 많이 자기
- 강의 듣기
- 1일 1 알고리즘 풀기
느낀 점
AOP!! 강의를 보며 실습도 해봤지만, 잘 모르겠다.. 제일 체감됐던 점은 @Around 애노테이션을 사용해서 패키지를 지정해 해당 로직을 다 사용할 수 있다는 것이다. 스프링은 기능이 너무 많다. 얼른 다 잘 쓰고 싶드아.
반응형
'데브 코스 > TIL' 카테고리의 다른 글
[TIL] DAY 36 (0) | 2021.09.17 |
---|---|
[TIL] DAY 34 & 35 (0) | 2021.09.07 |
[TIL] DAY 32 (0) | 2021.09.07 |
[TIL] DAY 29 & 30 & 31 (5) | 2021.09.04 |
[TIL] DAY 27 & 28 (0) | 2021.08.31 |