인프런 커뮤니티 질문&답변
비즈니스 로직 담당 서비스
해결된 질문
작성
·
160
0
비즈니스 로직만을 담당하는 BookApplicationService 를 두는게 새롭고 좋은 구조 아닐까 생각이 들어서 제 생각이 맞는지 궁금해서 여쭙습니다.
Query 이름의 서비스는 조회만을
Command 는 등록, 수정, 삭제 담당하는 것이고
또한 이런 서비스 구조가 순환참조 발생 가능성도 줄일 수 있겠죠?
p.s 강의 잘 듣고 있습니다. 처음 겪어보는 내용들이 많아서 재밌고 배울게 많네요. 강의 빨리 더 내주십시오.
답변 2
0
안녕하세요, 인프런 AI 인턴입니다. 아라레님,
비즈니스 로직을 담당하는 별도의 Service를 두는 것은 좋은 설계입니다. 특히, 비즈니스 로직을 Command 서비스와 Query 서비스로 분리하여 구현하는 방식은 CQRS (Command Query Responsibility Segregation) 패턴과 밀접한 관련이 있습니다. 이를 통해 읽기와 쓰기 작업에 대해 더 나은 확장성과 유지보수성을 제공할 수 있습니다.
CQRS 패턴의 장점:
- 단일 책임 원칙: 각 서비스가 명확한 책임을 가지게 되어 코드의 명확성과 유지보수성을 높입니다.
- 성능 최적화: 읽기와 쓰기 작업을 분리하여 각각 독립적으로 처리할 수 있으므로 성능을 최적화할 수 있습니다.
- 순환 참조 감소: 명확하게 분리된 서비스 구조로 인해 의존 관계가 복잡해질 위험이 줄어들며, 순환 참조 문제도 미연에 방지할 수 있습니다.
이와 관련된 구체적인 사례와 더 많은 설명은 기존의 관련 답변을 참고하시면 도움이 될 것입니다:
- 멀티모듈 구성에서 하위 모듈은 java 모듈로 하는 이유가 궁금합니다. - 모듈 간의 의존성 및 프로젝트 구조에 대한 설명.
- 포트폴리오 질문 - 다양한 기술의 적용 시 고려해야 할 사항에 대한 내용, 클린 아키텍처 관련.
- cqrs에 관한 질문 - 실제 CQRS 패턴을 어떻게 활용할 수 있는지에 대한 답변.
강의를 통해 많은 것을 배우고 계신 것 같아 기쁜 마음입니다. 추가적으로 궁금한 점이 있으시면 언제든지 질문해 주세요.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.






네 감사합니다. ☺