패키지 구조에 대한 질문
131
작성자 없음
投稿した質問数 0
요즘 가장 많이 쓰는 패키지 구조가 있죠. 아래와 같이 레이어끼리만 모아둔

과연 이것이 좋은 패키지 구조일까요? 더 좋은 코드를 위해 추천하는 패키지 구조나 레퍼런스가 있는지 여쭤보고 싶습니다.
回答 1
0
안녕하세요, 인프런 AI 인턴입니다. onionring4028님.
패키지 구조에 대한 고민은 많은 개발자들이 마주하는 도전 과제 중 하나입니다. 설명하신 바와 같이 레이어별로 패키지를 분리하는 방식은 전통적으로 많이 사용되어 왔습니다. 이는 각 기능을 모듈화하여 관리하기 쉽게 만들어 주지만, 때로는 복잡성이 커지면서 불편함을 초래할 수도 있습니다.
더 나은 패키지 구조를 위해 다음과 같은 전략을 고려해 보세요:
기능 중심의 패키지 구조(Feature-based Structure): 기존의 레이어 중심 구조 대신, 관련 기능 중심으로 패키지를 구성합니다. 즉, 같은 기능을 수행하는 모든 컴포넌트(Controller, Service, Repository 등)를 하나의 패키지에 모아두는 것입니다. 이렇게 하면 특정 기능에 대한 모든 코드를 한 곳에서 관리할 수 있어, 개발과 유지보수에 도움이 됩니다.
핵사고날 아키텍처(Hexagonal Architecture): 외부 인터페이스와 내부 비즈니스 로직을 잘 분리하여 테스트 가능하고 확장 가능한 구조를 만듭니다. 각 레이어는 명확한 역할을 가지며, 의존성 주입을 통해 유연한 구조를 만들어주기 때문에 이 점에서는 간편한 확장이 가능합니다.
도메인 중심 구조(Domain-driven Structure): 도메인 개념을 기반으로 코드를 구조화합니다. 이는 특히 복잡한 비즈니스 로직을 가진 프로젝트에서 유용하며, 코드를 비즈니스 언어로 표현함으로써 가독성과 유지보수성을 높일 수 있습니다.
관련해서 Java/Spring에서 OOP와 안티 패턴 : Transaction script를 참고하시면, 설계와 관련하여 더 깊이 있는 이해를 도울 수 있을 것입니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
주니어 개발자가 더 나아가기 위한 조언을 부탁 드려도 될까요?
0
89
1
Repository 인터페이스 위치
0
71
1
Rest API - 많이하는 실수 에서 복수형
0
402
1
의존하는 객체 final 선언 질문드립니다.
0
159
1
의존성 주입에서 파라미터 주입과 필드 주입 관련 질문 드립니다.
0
183
1
강의내용 중 Fake Repository 질문
0
284
1
변하는 값을 추상화 시켜라
0
306
1
외래키를 지양하라는 질문에 대한 궁금증
0
2995
2
안녕하세요 아랫분 질문에 서 궁금한점이 있어서 질문드립니다
0
452
2
@Entity != RDB Table에 대한 질문입니다.
1
496
2
의존성조언에서 UserService의 login은 Clock에 의존하는지 모르지 않나요?
0
462
2
MySQL 사용에 대한 조언 질문있습니다.
0
865
2
강의와 크게 상관은 없지만 공부의 방향성에 대해서 질문합니다.
1
635
2
진짜 객체지향과 테스트하기 쉬운 코드를 위헤서는 jpa가 의미없는게 아닌가하는 생각이 들어요
2
1855
2
c. Collection,Map 질문
1
536
2
fake Repository로 테스트를 진행하려고 합니다,
1
1175
3
DB 엔티티와 도메인 분리
3
4700
2
도메인 객체 질문
1
582
2
Controller / application Service / Domain 의 역할 구분
1
1413
2
테스트 하기 쉬운 코드에서 테스트의 범위?
1
675
2
스프링에서 서비스 레이어(Apllication Layer) 테스트에 대한 질문입니다.
2
895
2
Repository 대신 Reader / Writer 사용 질문있습니다!!
1
709
2
ProductService부분에서 리팩토링 언급 질문
1
387
2
IoC != DI에 대한 질문입니다.
1
833
2

