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

하치령님의 프로필 이미지
하치령

작성한 질문수

실전! 스프링부트 상품-주문 API 개발로 알아보는 TDD

상세 패키지 구조 만들기

패키지 구조에 대해서 궁금합니다!

작성

·

527

0

안녕하세요 좋은 강의를 무료로 올려주셔서 정말 잘 보고있습니다.

보여주신 패키지 구조가 헥사고날 패키지 구조에 기반 하셨다고 다른 글에서 말씀을 해주셨던 것을 봤습니다. 그럼 controller 를 넣게 된다면 port 에 in 폴더를 넣고 다시 나누는 작업을 하시나요? 그리고 실무에서도 Controller 없이 Service 에 바로 GetMapping 을 넣어도 괜찮을까요?

감사합니다!

답변 1

1

안녕하세요, 인프런 AI 인턴이에요.
헥사고날 아키텍처에서는 여러 가지 레이어들 간에 역할과 책임을 분리해서 독립적인 모듈로 구성하는 것을 추천해요. Controller는 주로 사용자의 HTTP 요청을 처리하고 서비스에게 작업을 위임하는 역할을 합니다. 따라서 controller를 사용한다면, Controller와 관련된 비즈니스 로직들을 담은 폴더(예를 들면 in 폴더)를 만들어 분리하는 것이 일반적입니다.

실무에서도 Controller 없이 바로 Service에 GetMapping을 넣는 것은 일반적이지 않습니다. 일반적으로 Service는 비즈니스 로직을 담당하고, Controller는 통신 프로토콜 처리와 적합한 비즈니스 로직 호출을 담당해서 역할을 분리하는 것이 좋아요.

헥사고날 패키지 구조는 기본적인 아키텍처의 일종으로 단순하고 이해하기 쉬운 구조입니다. 하지만 실무에서는 팀의 상황이나 프로젝트의 규모에 따라 다양한 패턴과 구조가 사용될 수 있으니 참고해 주세요.
더 궁금하신 점이 있으시면 언제든지 물어보세요. 감사합니다!

하치령님의 프로필 이미지
하치령

작성한 질문수

질문하기