Заказчик на Заказ, или Заказ на Заказчика в доменной модели - PullRequest
0 голосов
/ 25 февраля 2010

Я читаю книгу Шаблон приложения Applying-Domain-Driven-Design .

В своем модельном дизайне он имеет ссылку на удержание Заказа на Заказчика, но если бы это был я, дизайн, вероятно, у меня будет ссылка Заказчика на удержание.

Итак, вопрос, при проектировании однонаправленных отношений, как определить направление?

Ответы [ 3 ]

4 голосов
/ 25 февраля 2010

Я думаю, что если бы это была система обработки заказов, в которой Заказы являются концепцией операционного уровня, а Заказчики предоставили контекст для обработки заказов, то в OrderService необходимо, чтобы Заказы ссылались на Заказчика, который сделал Заказ. С другой стороны, как уже отмечали другие, вполне возможно, что у Клиента могут быть запрошены его заказы. Это возможно в системе обслуживания клиентов, где есть служба поддержки. В этом случае я вижу службу CustomerService, для которой требуется, чтобы у клиентов было много заказов.

1 голос
/ 25 февраля 2010

Структура выполняет некоторую функцию.

То есть подумайте, как будут использоваться ваши классы. Будет ли клиент запрашивать свои заказы? Будет ли заказ запрошен для его клиента? Если оба, то вам нужны двунаправленные отношения.

1 голос
/ 25 февраля 2010

ответ на этот вопрос определяется функциональностью приложения. Если вам нужно запросить заказы по клиенту, то ваш подход правильный. Тем не менее, если заказчики запрашивают свои заказы, то дизайн модели правильный.

Если вам нужно сделать и то, и другое, тогда это двунаправленное отношение, и вы можете смоделировать его как многие ко многим.

...