신원 별 다른 집계 (AR2)를 참조하는 집계 루트 (AR1)가 있습니다. 즉 여기에 설명 된대로 http://www.informit.com/articles/article.aspx?p=2020371&seqNum=4집계 루트 도메인 서비스를 호출하는 집계 루트.
이제 AR1의 제 방법 중 하나에서 수표를 수행하기 위해 AR2의 전체 개체에 액세스해야합니다. 나는 AR2DomainService라는 도메인 서비스를 만들었고 AR1의 메소드에 주입 중이다. 예 :
public class AR1
{
public Guid AR2Id;
public void DoSomething(IAR2DomainService, aR2DomainService)
{
AR2 ar2 = ar2DomainService.GetById(Ar2Id);
if(ar2.status != Status.OK)
//throw exception
//do some processing.
}
public bool DomSomething2(IAR2DomainService, ar2DomainService)
{
return ar2DomainService.DoSomething(Ar2Id);
}
}
이 코드가 맞습니까?
저는 AR2를 수정 한 적이 결코 없다는 것을 명심하십시오 ... 나는 단지 속성을 읽는 중입니다. –
이 코드가 실행되는 동시에 ar2 상태가 수정되면 어떻게됩니까? 무효 상태로 끝날 수도 있습니다. 또한 도메인 서비스는 집계를 rehydrate 의미하지 않으며, 저장소는 있습니다. 이 외에도 AR 메서드에서 도메인 서비스를 주입하는 데는 아무 문제가 없지만 항상 가장 명시적인 종속성을 전달하려고 시도합니다. 예 : ar2를 검색하는 서비스보다는 ar2를 전달합니다. – plalx
"소스에서 수익자 계정으로 금액 이전"과 같은 실제 도메인 의미를 사용하여 비즈니스 시나리오를 설명 할 수 있습니까? 그렇지 않으면 우리는 올바른 방향으로 당신을 도울 수 없을 것입니다. –