Моделирование домена с двух точек зрения - PullRequest
0 голосов
/ 20 февраля 2011

Я пытаюсь смоделировать домен моей системы, но я сталкивался с проблемой и мог помочь с некоторой помощью.

Моя проблема одна из перспективных. Я моделирую систему, в которой у меня есть объект «Клиент», в котором будет несколько объектов «Заказ», и система должна будет перечислить все Заказы для выбранного клиента (перспектива 1). Поэтому я смоделировал класс Customer, который содержит коллекцию Orders ... просто. Однако я только что понял, что система также должна будет перечислить все Заказы с подробной информацией о Заказчике (перспектива 2), что будет означать, что у меня была одна ссылка на Заказчика из каждого Заказа.

Проблема в том, что с каждой точки зрения я буду тратить время на создание объекта, который меня не заинтересует, например. Когда я буду отображать список заказов, для каждого заказа будет создан экземпляр Customer; в свою очередь, экземпляр Customer будет хранить коллекцию сделанных им заказов (которые с этой точки зрения меня не интересуют !!).

Может ли кто-нибудь помочь с предложениями? Я сталкивался с этой проблемой раньше, но никогда не находил время для разработки правильного решения.

С уважением,

JLove

1 Ответ

2 голосов
/ 21 февраля 2011

Я видел это раньше.Хитрость заключается в том, чтобы различать идентификатор клиента и детали клиента (например, заказы).Затем вы можете связать все объекты-заказы с объектом Customer-Identity-Object, а в другом представлении - ссылку с-Customer-Identity-Object на объект Customer-Details-Object, который дополнительно ссылается на объекты-заказы (вы, вероятно, хотите, чтобы этот заказ был упорядочен).в хронологическом порядке).

Реализация может проводиться как в Object-System, так и в виде реляционной базы данных (в этом случае у вас будет таблица «Клиенты» с CustomerID в качестве ключа, их адреса и т. д., а также таблица «Заказы»)."с OrderID в качестве ключа и CustomerID в качестве другого столбца.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...