0

우리는 현재 프로젝트에서 DDD 관행을 사용합니다. 우리는 많은 한계의 문맥을 가지고 있으며 각 문맥은 그 지속성 계층을 포함하는 계층화 된 구조입니다. 문제는 제한된 컨텍스트에서 예를 들어 IdentityAccess과 같은 다른 제한된 컨텍스트에서 데이터를 참조해야한다는 것입니다. 컨텍스트는 사용자를 관리하는 컨텍스트이므로 UserModel을 포함하지만 사용자를 참조해야합니다. 다른 한정된 문맥에서, 우리는 SubscriberUserModel을 생성합니다.이 객체는 그 바운드 컨텍스트에서 사용자 모델의 부분 집합 정보를 포함합니다. 마이그레이션 프로젝트에는 마이 그 레이션을 관리하는 데 사용되는 모든 바운드 컨텍스트와 데이터베이스 의 모든 모델이 포함되어 있지만 문제가 있습니다. 우리는 새로운 마이그레이션DDD 여러 개의 경계가있는 컨텍스트가있는 Entity Framework

enter image description here

를 생성 할 때 우리는 EF 예외를 내 질문 현명한 방법 이이 문제를 처리하는 방법에있는 동일한 테이블을 참조되는 둘 이상의 개체입니다 가질 수 없습니다

답변

3

대답은 이 아닙니다!

DDD 관점에서 잘못하고 있습니다. 제한된 컨텍스트는 사용자의 경우와 같은 관계로 바인딩되어서는 안되며 다른 컨텍스트의 테이블과 관련이없는 독립적 인 테이블이어야합니다.

당신이해야 할 일은 컨텍스트 A 안에 필요한 속성을 가진 컨텍스트 A에서 사용자를 만드는 것입니다. 컨텍스트 A의 사용자에 대한 정보는 컨텍스트 B에서 이벤트, 대기열, 웹 서비스, 어떤 종류의 방아쇠를 당긴다. 그러나 그것들은 관계로 묶여서는 안된다.

그런 식으로 컨텍스트 B에서 엔터티 및 비즈니스 프로세스와 아무 관련이없는 불필요한 데이터를 복사 할 수 있습니다. 이들은 동일한 이름 (사용자)을 가지고 있지만 컨텍스트에서의 역할과 논리가 완전히 다릅니다. 그게 너를 속이게하지 마라.

제목에 대한 좋은 동영상은 Julie Lerman on Pluralsight (광고가 아닙니다 :)입니다.

관련 문제