도메인 모델 객체는 무엇이며 서비스에 어떤 영향을 미칩니 까?

StackOverflow https://stackoverflow.com/questions/428859

  •  06-07-2019
  •  | 
  •  

문제

비 산혈 도메인 모델을 사용하는 도메인 중심 디자인에서 도메인 객체와 서비스 지향 방법에서 구현해야 할 사항을 어떻게 결정합니까?

편집하다: 나는 이것을 예제로 다른 방식으로 물었고 훨씬 더 나은 답을 얻었습니다. 여기

도움이 되었습니까?

해결책

DDD의 아이디어는 도메인 모델에 데이터와 대부분의 비즈니스 논리가 포함되어 있다는 것입니다. 서비스는 일반적으로 이러한 구조의 지속성을 다룹니다.

그런 다음 비즈니스 프로세스가 도메인 개체를 항상 변경/수정하는 여러 단계로 구성된 모든 사례가 있습니다. 일반적으로 서비스를 사용하여 일부 프로세스를 실현합니다. 따라서 일반적으로 서비스 결과로 도메인 객체를 업데이트하고 있습니다. 너 절대 도메인 객체 구현이 스스로 서비스를 호출하게하십시오!

따라서 다음과 같은 코드를 보는 것이 일반적입니다.

if (order.isValidForPurchase() && orderValidatorService.isValidOrder( order))
    orderService.order( order)

진실의 일부가 순서 대상에 알려져 있고 일부는 알려진 외부 데이터가 필요하기 때문입니다. orderValidatorService. 아마도이 두 줄의 코드 라인도 안에있을 수 있습니다. orderService.order 방법.

이러한 프로세스에 얼마나 많은 도메인 객체가 존재하는지 조사하는 것이 항상 가치가 있다고 생각합니다. 때로는 처음에 생각하는 것보다 더 많은 개념을 만들어 많은 것을 얻을 수 있습니다. 실제로 비즈니스 프로세스 상태와 객체 모델의 교차점입니다. 종종 DDD 모델은 핵심 프로세스를 너무 무시하는 IMO가 지나치게 구조적 관점에서 도메인을 캡처하려고 시도하는 경향이 있습니다. 그래서 당신이 지나치게 구조적이라면 나는 당신이 Order 물체. 프로세스를 추가하면 아마도 당신이 만드는 것일 수 있습니다 ShoppingCartOrder, UnshippedOrder, ShippedOrder, BilledOrder 그리고 HistoricalOrder. 이것은 또한 서비스 통합을 때로는 더 간단하게 만듭니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top