문제

맥락 : 그래서 나는 엄청나게 복잡한 도메인 모델을 구축하려고합니다. 사용자와 대화하면 시스템이 사용되는 여러 가지 방법이 있습니다 (예 : 한 가지 방법은 직원의 관점에서, 다른 방법은 고용주의 관점에서 나온 것입니다). 실제로, 그것들은 핵심 도메인을 재사용하는 여러 응용 프로그램입니다.

질문 : 여러 관점에서 도메인을 만드는 것이 잘못입니까? 예를 들어, 비즈니스가 운영되기 때문에 도메인을 구축하는 것은 엔티티 등에 대한 추가 정보를 전달하는 모든 종류의 관계 클래스를 만드는 것을 의미합니다. 관계 클래스는 부모 엔티티로 롤링 할 수 있습니다.

아이디어? 반박? 내가 완전히 오프베이스인가요?

도움이 되었습니까?

해결책

아니요, 이것은 절대적으로 적합합니다. 에반의 책은 그의 책에서 이러한 '관점'이 문맥을 부릅니다.

정말 복잡한 도메인 모델을 갖는 대신 도메인을 특정한 방식으로 해결하는 간단한 도메인 모델을 구축하십시오. 경계 컨텍스트는 함께 연결되어 더 작고 간단한 직접 도메인 모델의 웹을 형성 할 수 있습니다.

다른 팁

나는 당신이 '코어 도메인'을 앞쪽으로 시도하고 사전 정의해야한다고 생각하지 않습니다. 개발 과정을 통해 등장하십시오. 또한, 2 (또는 그 이상) 관점에 공통적이지 않은 것은 '핵심'에 있어서는 안됩니다.

예를 들어, 직원 관점에서 시스템의 일부를 구축하십시오. 이로 인해 '프로젝트', '작업'및 '고객'과 같은 엔티티를 만들 수 있습니다. 그런 다음 직원 관점에서 일부를 구축하십시오. 이로 인해 새로운 엔티티를 구축하고 '프로젝트'및 '작업'을 재사용 할 수 있습니다. 그때 나는 '프로젝트'와 '작업'을 다른 시스템이 공유 한 '코어 라이브러리'로 옮기는 시점입니다.

때로는 공통 개체를 찾을 수 있지만 다른 방식으로 관련이 있습니다. 이 경우 실체 자체와 함께 내장되지 않고 관계에 의해 관계가 주입되어야합니다.

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