Inflearn brand logo image

인프런 커뮤니티 질문&답변

1q2w3e4r님의 프로필 이미지
1q2w3e4r

작성한 질문수

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

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

해결된 질문

작성

·

25

0

안녕하세요. 강의 수강중에 의존성 추가에 대해서 의문이 들어 질문드립니다. 제가 26강까지 듣고 올리는 질문이라 후속 강의에서 리팩토링 되는 것이라면 넘어가주세요!

 

  1. 멀티모듈 프로젝트에서는 각 모듈이 각자의 의존성을 갖고 관리하도록 하는 것으로 이해하고 있었는데요. 현재 강의에서는 아래 의존성들이 여러 모듈에 흩어져있습니다. 이렇게 되면 의존성 관리 포인트가 늘어나 단점이 생길 것 같은데요. 하나의 모듈에서 각자의 역할과 책임에 맞게 의존성을 관리하는 것에 대해 강사님의 생각이 궁금합니다!

    1. spring data jpa

      1. bank-domain

      2. bank-event

    2. resilience4j

      1. bank-core

      2. bank-api

  2. 만약 위의 의존성들이 각자의 모듈에서 관리된다면 다른 모듈에서 사용할 수 있도록 특정 기능들을 wrapping해서 제공해주는 방법이 맞을까요? 아니면 혹시 더 좋은 방법이 있을지 궁금합니다.

    1. spring data jpa

      1. bank-domain에서 save(), 혹은 findById()를 다른 모듈에서 사용할 수 있도록 인자만 받는 메소드를 제공한다면 bank-event에선 id값 혹은 entity형식의 객체(필요시 model or dto 추가)만 넘겨 처리할 수 있으니 spring-data-jpa 의존성을 끊을 수 있을 것 같아서요.

답변 1

0

Hong님의 프로필 이미지
Hong
지식공유자

안녕하세요 1q2w3e4r님!! 질문 남겨주셔서 감사합니다 🙂

 

강의에서도 언급을 했는지... 제가 정확하게 기억은 나지 않는데, 이런 멀티 모듈의 형태가 사실 큰 기준이 없습니다. 각자가 원하는 스타일로 구현을 하면서 거기에서 최적의 형태를 찾아가면 좋습니다.

  • 어디까지나 개인적인 생각입니다.

 

그리고 멀티 모듈을 구현한다는거 부터가 사실상 관리 포인트가 늘어난다는 점은 피해갈수 없는 부분입니다. 하지만 다른 부분에서도 장점을 가져 갈 수 있기 떄문에 도입하는 경우도 존재하는 것이죠.

 

그래서 작성자분께서 원하시는 방향으로 수정하셔서 구성을 해보셔도 좋습니다. 저도 할떄마다 일부 조금씩 변경하면서 사용하고는 합니다. 그러니 너무 크게 정해진 규칙에 맞춰서 작성하지 않으셔도 될꺼같아요!!

  • 개인적으로 Spring과 JVM 계열을 사용하시는 분들이... 주로 이런 규칙이나 뭔가 딱 틀에 맞춰서 구현하고 사용하시는 경향이 많으시더라고요.. 저는 코딩은 창의적이고 자기만의 스타일을 지켜가면서 하는것을 좋아해서.. 개인적인 의견이니 어디까지나 참고해보시면 좋은 주제인거 같습니다.

1q2w3e4r님의 프로필 이미지
1q2w3e4r

작성한 질문수

질문하기