도메인 기반 디자인과 관련하여 질문이 있습니다. 내 응용 프로그램의 사용자 계정/프로필 경계 컨텍스트에는 계정 정보 (ID, 사용자 이름, 암호, 전자 메일, 소금 등) 및 프로필 정보 (성명, 아바타, 생일, 성별 등)가있는 사용자 엔터티가 있습니다. 또한 각 직위에는 고용주 사용자가 있고 각 직무 응용 프로그램에는 신청자 사용자가있는 직책/응용 프로그램에 대한 또 다른 경계가 있습니다.도메인 기반 디자인 : 다른 한정된 컨텍스트에서 사용자 엔터티를 다루는 방법?
사용자가 작업에서 제한된 컨텍스트의 고용주/신청자 사용자가 사용자 계정으로 제한된 컨텍스트에 사용하는 것과 동일한 사용자 엔터티이어야합니까? 또는 고용주 및 신청자에 대해 다른 사용자 유형 엔터티를 설계해야합니까?
보시다시피 계정 한정된 컨텍스트의 ID, 전체 이름, 전자 메일 및 아바타와 같은 정보 만 작업 경계 컨텍스트와 관련이 있습니다. 고용주/신청자가 계정/사용자 프로필에서 동일한 사용자 엔터티를 사용하는 경우 많은 쓸모없는 데이터가로드됩니다 (고용주/신청자의 사용자 암호를 알 필요가 없음). 그러나 다른 엔터티 클래스를 만들면 다른 엔터티 클래스에서 변경 한 내용이 동일한 데이터베이스 테이블의 동일한 데이터를 변경할 수 있으므로 데이터 지속성이 더욱 까다로워집니다.
당신은 어떻게 생각하십니까? 서로 다른 경계가있는 컨텍스트/집합에 대해 하나 또는 모든 사용자 엔터티를 사용해야합니까? 후자가 바람직한 경우 데이터/엔티티 지속성을 사용하여 어떻게 할 수 있습니까?
바운드 컨텍스트가 동일한 DB를 공유합니까? 이상적으로는 안됩니다. 그런 다음 BC가 어떤 데이터를 소유하고 소유 BC가 데이터를 변경하도록 허용하는지 명확히해야합니다. – plalx
나는 당신이하는 말을 이해하지 못합니다. 그것의 동일한 응용 프로그램, 그냥 다른 경계 컨텍스트. 나는 다른 응용 프로그램이 아니라면 항상 같은 DB를 사용합니다. –
BC는 일반적으로 마이크로 서비스로 배포되며 자체 DB가 있습니다. – plalx