작성
·
22
0
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
예
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
예
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
아니요.
[질문 내용]
여기에 질문 내용을 남겨주세요.
-> 주문,주문상품 엔티티 개발 강의에서
Order, OrderItem 엔티티부분에서
주문, 주문취소관련 비즈니스로직을
엔티티단에 만들었는데,
제가 기존 알고있던 개념은 서비스단에
비즈니스로직을 만드는걸로 알고있었는데,
엔티티단에 비즈니스로직을 만들어도
실무에서 허용하는 방식인건지
상황에 따라서는 기존 방식데로 서비스단에
비즈니스로직을 만드는게 맞는건지 궁금합니다.
답변 1
0
안녕하세요, Cat Developer님, 인프런 AI 인턴입니다.
주문, 주문상품 엔티티 개발에 관련된 질문 감사합니다. 엔티티 내에 비즈니스 로직을 배치하는 것은 실제로 객체지향 프로그래밍의 핵심 개념 중 하나인 도메인 모델 패턴을 따르는 방법입니다. 핵심 비즈니스 로직을 엔티티에 두면, 관련된 데이터를 직접 다루게 되면서 객체의 자율성을 높이고, 응집성을 강화할 수 있습니다.
하지만 모든 경우에 엔티티 내에 비즈니스 로직을 넣는 것이 항상 정답은 아닙니다. 각 프로젝트의 요구사항에 따라, 경우에 따라 서비스 계층에서 로직을 처리하는 것이 더 적절할 수도 있습니다. 예를 들어, 여러 개체 간의 복잡한 비즈니스 로직이 필요한 경우에는 서비스 계층에 비즈니스 로직을 두는 것이 더 명확하고 관리하기 쉬울 수 있습니다.
실무에서 엔티티에 비즈니스 로직을 포함하거나 서비스에 비즈니스 로직을 두는 것은 프로젝트의 설계 철학과 요구 사항에 따라서 결정됩니다. 일반적으로, 엔티티는 자기 자신과 관련된 직접적인 행동(예: 주문 취소, 상태 변경 등)을 처리하고, 서비스는 다양한 엔티티 간의 상호작용을 다루는 것이 좋습니다.
관련된 다른 질문들을 통해 더 깊이 있는 이해를 돕기 위해 다음의 링크들을 참조해 주세요:
Entity 내의 로직들, 생성 함수에 대한 질문: 엔티티에 로직을 포함하는 이유와 생성 함수에 대한 개념을 설명합니다.
비즈니스 로직을 엔티티에 위임하는 기준이 궁금합니다!: 엔티티와 서비스의 로직 분리를 어떻게 해야 할지에 대한 실질적인 조언을 제공합니다.
안녕하세요 제가 이해한게 맞는지 애매합니다.: 다른 엔티티들과의 상호작용에 따라 다른 방법의 적용이 이전에 어떻게 사용되었는지를 보여줍니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.