질문은 실제로는 일치하지 않지만 느슨하게 연결된 도메인 모델을 모델링하는 방법이 있는지 알고 싶습니다. 그게 무슨 뜻이야? 저는 소프트웨어 HR 에디터에서 일하고 있으며 처음부터 새로운 어플리케이션을 시작할 계획입니다. 우리는 150 명의 고객을 대상으로 수행 한 모든 프로젝트에 대한 감사를 수행했으며 DDD의 관점에서 볼 때 하나의 유효한 도메인 모델이 있다고 말할 수는 없습니다.느슨하게 결합 된 도메인 모델 모델링
왜? 회사가 얼마나 큰가에 따라 각기 다른 방식으로 HR을 처리하기 때문에
물론 HR 도메인의 통신 엔티티를 직업, 오퍼, 공동 작업자, 기술 등으로 식별 할 수 있지만 클라이언트 A와 클라이언트 B에 대해 동일한 방식으로 연결되어 있지 않습니다. 도메인 모델의 관점에서 볼 때, 엔터티 A는 엔터티 B에 대한 참조를 가지고 있다고 말할 수 없습니다. 다른 고객에게 적용됩니다.
고객의 80 %가 우리가 필요로하는 것의 90 %를 차지하는 모델을 설계 할 수 있다고하더라도 나머지 고객은 희생시키지 않을 것이며 다른 한편으로는 특정 개발을 통해 제품을 해결하고자합니다 differents 우려.
BPM 솔루션을 살펴 보았지만 이것이 우리의 요구에 부합하지 않습니다. 다른 한편으로 나는 우리가 필요한 것을 어떻게 처리 할 수 있는지 상상할 수 없습니다. 실제로 엔티티 간의 링크는 각 클라이언트에 대한 일종의 매개 변수, xml 등으로 런타임에 "완료"되어야합니다. 도메인 모델이 약간 변경되었으므로 다른 응용 프로그램을 코딩 할 필요가 없습니다. 이것은 프로퍼티 도메인 모델을 가지지 않는 것은 완전히 미친 짓일 수 있지만 메시징을 기반으로 한 어떤 것이 우리에게 도움이 될 수 있습니다.
그 점에 대해 알고 싶습니다. 그런 상황을 어떻게 처리 했습니까?
감사합니다,
구성을 통해 모든 작업을 수행한다는 것은 불가능하다는 것을 알고 있습니다. 문제는 처음부터 끝까지 프로세스/워크 플로를 볼 수있는 소프트웨어를 만드는 것입니다. 플러그인을 사용하면 150 명이 넘는 큐머가있을 때 문제가됩니다. 그래서 각 고객을위한 플러그인 버전을 유지하는 것이 좋습니다. pluging이 시간의 저주에서 개선 된 응용 프로그램의 나머지 부분과 호환되는지 확인합니다. 근원을 다루기. 우리의 경우에는 지금 가지고있는 것이고 그것은 지옥입니다. 각 고객마다 도메인 논리가 응용 프로그램 및 플러그인에 확산되는 다른 문제가 있습니다. –
플러그인과 관련된 호환성 문제는 Continuous Integration과 많은 자동화 테스트에서 가장 잘 처리됩니다. –