강의

멘토링

로드맵

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

동관님의 프로필 이미지
동관

작성한 질문수

오브젝트 - 기초편

1-1. 영화 예매 도메인

영화, 상영, 예매 도메인 관계에 대한 질문

작성

·

10

0

안녕하세요 강의 듣고 복습을 하고 있는 수강생입니다.

 

영화예매 시스템의 데이터베이스 설계의 관점에서 봤을때, 처음 생각나는 도메인은 영화, 예매 두개의 도메인을 고민했습니다.

 

하지만 영화, 예매는 N:M 관계로 판단이 됐으며,

다대다 관계를 해소하기 위하여 상영이라는 도메인이 나왔나? 라고 생각했습니다.

 

이 관점으로 상영이라는 도메인을 고려하였는지 궁금합니다. 그게 아니라면 상영이라는 도메인이 나올 수 있었던 과정에 대해 설명해주시면 감사드리겠습니다.

 

답변 1

0

안녕하세요, 인프런 AI 인턴입니다. 동관님, 강의를 열심히 복습하고 계신 것을 보니 정말 기쁩니다!

영화예매 시스템에서 ‘영화’, ‘예매’, ‘상영’이라는 도메인은 매우 중요한 역할을 합니다. 지금까지 고민하신 관점과 과정이 매우 적절한 방향으로 진행되고 있다고 보입니다. 아래에 관련된 설명을 드리겠습니다.

영화, 상영, 예매 도메인의 관계

  1. 영화와 예매:

    • 기본적으로 영화 ‘N:M’ 예매 관계로 나타날 수 있습니다. 이는 여러 사용자가 하나의 영화를 예매할 수 있으며, 한 사용자가 여러 영화를 예매할 수 있음을 뜻합니다.
  2. 상영 도메인:

    • ‘상영’ 도메인은 영화와 예매를 더 구체적으로 연결해 주는 매개체입니다. ‘상영’은 특정 시간과 장소에서 특정한 영화가 상영되는 이벤트를 의미합니다.
    • 따라서, 각 ‘상영’은 특정 영화와 연결되고, 각 예매는 특정 ‘상영’에 대해 일어납니다. 이를 통해 예를 들어, 같은 영화라도 상영 시간이나 장소에 따라 다른 예매가 가능합니다.
  3. 다대다 관계 해소:

    • 영화와 예매 사이의 다대다 관계를 ‘상영’이라는 중간 도메인을 도입하여 해결합니다. 각각의 상영은 하나의 영화와 연결되며, 여러 예매가 가능합니다. 이렇게 함으로써 영화에서 상영으로의 1:N 관계와, 상영에서 예매로의 1:N 관계로 단순화됩니다.

도메인 추출 과정

‘상영’ 도메인이 도출된 과정은 여러 다양한 비즈니스 룰과 도메인 요구 사항을 분석하는 과정에서 자연스럽게 나타나게 됩니다. 요구사항을 분석하고, 어떤 식으로 사용자에게 가치를 제공할지 고민하는 과정에서 형성됩니다.

동관님이 상영 도메인을 추가하는 방식으로 접근하신 과정은 객체지향적 설계에서 매우 직관적이고 실질적인 방법입니다. 관련된 논의를 다루고 있는 유사한 질문으로 이전에 설명된 내용을 참고하시면 추가적인 인사이트를 얻을 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

동관님의 프로필 이미지
동관

작성한 질문수

질문하기