작성
·
71
0
강의 내용 중 엔티티에 비즈니스 로직을 포함시키셨는데 여러 사이트를 보면서 내용을 이해하려고 노력하면서 최종적으로 이런 결론을 지었습니다.
Q. 어떤 비즈니스 로직을 서비스 계층에서 구현해야 하고 어떤 비즈니스 로직을 도메인에서 구현하는 것이 맞을까?
A. 상품과 관련된 비즈니스 로직(주문 접수에 따른 재고 감소, 주문 취소에 따른 재고 증가)에서는 하나의 도메인만 활용이 되므로 하나의 도메인만으로 비즈니스 로직을 구현할 수 있다고 판단되는 상황이라면 도메인에 비즈니스 로직을 구현해도 괜찮지만 여러 도메인을 활용해야하는 복잡한 비즈니스 로직을 구현하거나 회원가입이나 로그인과 같이 리포지토리와 직접적 관련을 맺고 있는 비즈니스 로직의 경우라면 서비스 계층에서 구현하는 것이 맞다.
질문에 대한 대답이 이게 맞는지 궁금합니다.
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
dhwiwnwnf님의 질문에 대해, 비즈니스 로직을 어디에 구현해야 하는지에 대한 기준을 제시하는 내용은 매우 중요한 주제이며, 실제 개발 프로젝트에서 자주 마주치게 되는 고민입니다. dhwiwnwnf님의 결론은 매우 타당한 관점을 담고 있습니다. 비즈니스 로직을 엔티티 도메인에 구현할지, 서비스 계층에서 구현할지를 결정하는 기준으로, 해당 로직이 단일 엔테티에 국한되는지 여부와 복잡한 비즈니스 연산을 필요로 하는지 여부를 고려하는 것은 좋은 접근 방식입니다.
이러한 고민에 대해 지식공유자가 이전에 제시한 답변을 찾아보았고, 이와 관련해 유용할 것 같은 자료를 발견했습니다.
도메인에 들어가는 비즈니스 로직과 Service 내의 로직
이 두 자료를 통해 하나의 비즈니스 로직이 도메인 또는 서비스 계층에 구현되는 기준을 좀 더 명확하게 파악할 수 있습니다. 각 사례는 구체적인 상황에 따라 다루어지며, 나머지는 전반적인 지침에 따라 결정됩니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.