inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

멀티 모듈 아키텍처로 구현하는 은행 서버 핵심 기능 [ Kotlin & Spring ]

@Transactional 한계 극복을 위한 Kotlin 함수형 프로그래밍

Advice 패턴을 다시 분리할 수 있나요

해결된 질문

102

홈런

작성한 질문수 6

0

aop의 단점을 보완하기 위해 advice 패턴을 사용하셨는데, 매번 코드에 advice가 들어가는게 좀 번거로울 수도 있을거 같다는 생각이 들어서 질문드립니다..!

 

aop의 단점을 극복하기 위해 사용한거지만,, 혹시 Advice를 aop처럼 분리시켜서 적용시키는 방법이 따로 또 있을까요

java spring kotlin mysql spring-boot

답변 3

0

홈런

아닙니다! 좋은 강의 만들어주셔서 감사드립니다 인사이트를 얻는데 많은 도움이 되었습니다!ㅎㅎ

0

Hong

안녕하세요 홈런님 질문 주셔서 감사합니다.

 

말씀해주신것처럼 advice 패턴을 도입하게 된다면, 기본적으로 클라이언트 코드가 좀 더 길어지는 경향이 있고 관리 측면에서 단점을 가져 갈 수 있습니다. 반대로 장점으로는 좀 더 명확하고 유동적으로 확인이 가능하다는 특징이 있죠.

 

음... 현재로써 저도 사실 이 부분에 대해서 딱히 떠오르는 부분이 없는거 같습니다 ㅠㅠ 한가지 생각나는 부분은 BeanPostProcessor 같은 형태를 적용하면 좋지 않을까 싶은데.. 사실상 이런 형태도 내부적인 코드가 매우 길어진다고 생각이 드네요.

 

큰 도움을 드리지 못해서 죄송합니다 ㅠㅠ 질문 감사합니다!

 

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. 홈런님.

AOP의 단점을 보완하기 위해 여러분께서 관심을 가지고 계신 ‘Advice 패턴’에 관한 질문이군요. 코드를 작성할 때 매번 Advice 패턴을 직접 호출하는 것이 번거롭다고 느끼실 수 있습니다. 이러한 문제를 해결하기 위해서는 몇 가지 대안 방법을 고려해볼 수 있습니다.

  1. 다양한 디자인 패턴 활용: Advice 패턴을 사용함으로써 AOP를 대체하고자 시도하셨지만, 일반적인 디자인 패턴들(예: Decorator, Proxy 등)을 활용하면 이 문제를 해결할 수도 있습니다. 이를 통해 코드의 반복성을 줄이고, 모듈화를 더욱 강화할 수 있습니다.

  2. AOP 확장 및 플러그인 시스템: 스프링 AOP 시스템을 통해 새로운 PointcutAdvice를 만들어 추가적인 확장을 할 수 있습니다. 이는 기존 AOP 시스템을 벗어나지 않고도 커스텀 기능을 넣는 방법입니다.

  3. 코틀린 확장 함수: 코틀린에서 제공하는 확장 함수 기능을 사용하여 특정 클래스나 기능에 Advice를 쉽게 적용할 수 있도록 하는 방법도 고려할 수 있습니다.

  4. DSL(Domain Specific Language): 코틀린에서는 DSL을 작성하여 코드의 선언적 스타일을 강화할 수 있습니다. 이것은 Advice의 흐름을 완화하는 데 도움을 줍니다.

관련된 자세한 해결 방법이나 구현 사례에 대한 정보는 아래 링크에서 참고하실 수 있습니다.

현재 강의의 다른 수강생들이나 질문 게시판에서도 비슷한 고민을 나누고 있으니, 다양한 해결책을 학습하고 실험해 보시는 것도 좋을 것 같습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

26년 1회차 기출 강의

0

22

2

mysql워크벤치를 실행할때마다 오류가 뜹니다. 해결 방법좀 가르켜주세요.

0

21

1

실제로 작은 기업에서 기획 롤

1

17

1

임포트 오류

0

19

2

이제 인프런에서 강의 더 안산다. 후져....

0

33

1

기출문제

0

46

1

order_product 까마귀발

0

24

1

소스코드 어디서 다운받아요?

0

45

5

정보처리기사 실기 zip

0

38

2

답을언제쯤받아볼수있나요

0

43

2

공통 코드 , 계층 구조 질문

1

30

1

데이터베이스 노션

0

34

2

형 책 어떻게 받아?

1

49

1

PPT 자료 공유 받을 수 있을까요?

0

29

1

@JsonIgnore 이후 Internal Server Error가 발생하지 않습니다.

0

27

2

수업노선자료파일 다운

0

33

2

프로젝트 의존 관계

0

49

2

비동기 전송을 위한 Thread 관리 에서 Executor 설명 오류

0

66

2

멀티모듈 초기설정

0

99

2

CQRS 설계 팁

0

114

2

패키지, 디렉터리 구조 질문 (강의 내용 관련X)

0

104

2

Circuit Breaker 질문

0

81

2

jpa entity 질문

0

93

1

모듈 간 의존성 관리에 대한 질문

0

111

1