2017-11-16 23 views
0

내 시스템에서 사용자 일 수 있습니다. 도메인 모델과의 관계 모델링

나는 id, name, member_countis_channel을 포함라는 도메인 모델을 얻었다. 그래서 저장소에서 팀을 가져 오면 도메인 모델을 검색합니다.

사용자 사이의 관계를 어떻게 모델링하나요? 관계에 대해 말할 때 모델에서 member_countis_channel을 신경 쓰지 않기 때문에. 심지어 관계에 여분의 데이터가 있는데, 이는 role_type입니다.

TeamScope 등의 관계에 대한 도메인 모델을 만들어야합니까? 그 중 id, user_id, team_id, role_type?

+0

혼란스러운 ** 도메인 객체 ** (또는 ** 개념 클래스 **) ** ** 도메인 모델 **? '팀'은 * 도메인 모델 *의 개념 클래스 *입니다. 나는 마지막 질문에서 "도메인 모델을 만들어야합니까?"라는 말을 혼동합니다. 하나의 도메인 모델이 있지만 클래스와 연관이 있습니다. – Fuhrmanator

답변

0

사용하는 용어 (모델, 클래스, 연결)에 관한 내 의견을 참조하십시오. 제 대답을 쓸 때 당신이 그들을 오용하고 있다고 가정합니다.

UserTeam 사이의 관계를 어떻게 모델링하나요? 관계에 대해 이야기 할 때 나는 모델 (0120)에서 member_countis_channel을 신경 쓰지 않기 때문에. 심지어 관계에 여분의 데이터가 있는데, 이는 role_type입니다.

도메인 모델에서 association class을 사용하여이를 나타낼 수 있습니다.

enter image description here

Membership 당신이 알아 낸 진짜로 협회에 링크 된 role_type, 캡처 할 수 있습니다.

member_count은 처음에 /으로 표시됩니다. 이는 다중성 (팀과 관련된 구성원 수)에서 해당 값을 유도한다는 것을 나타냅니다.

질문에 이라는 태그가 지정되어 있으므로 how to implement association classes in Java (정확한 사례는 아니지만 Node.js에서는 쉽게 적용 할 수 있음)을 가리 키도록하겠습니다.

+0

나중에 팀과 회원을 어떻게 결합시킬 수 있습니까?나는이 두 가지 별도의 쿼리를 생성하고 싶지 않다. – guidsen

+0

한 번에 한 팀에만있는 사용자와 팀과 관련이없는 사용자에게는 아무런 의미가없는 사용자라면 회원 가입 및 사용자 역할 설정. 도메인 모델은 비즈니스 프로세스의 올바른 요구 사항을 포착하는 데 중점을 둡니다. 쿼리를 더 간단하게 만들 필요는 없습니다. 한 사용자가 여러 팀에 동시에있을 수 있다면 더 복잡합니다. – Fuhrmanator

0

사용자에 대한 링크, 팀에 대한 링크 및 사용자가 해당 팀에서 수행하는 역할을 모두 포함하는 TeamMember 객체를 거의 모델링해야합니다.

팀에는 팀원 목록이 있으며 사용자에게는 팀 구성원 목록이 있습니다. 팀은 MemberCount (이것이 정적인지, 아니면 TeamMembers 수에서 동적인지 확실하지 않음)가 있으며, is_channel이 무엇을 의미하는지 알지 못합니다 ...