2014-11-06 3 views
0

Я работаю в архитектуре приложений на основе DDD. У меня есть следующий сценарий.DDD - Агрегаты с большими графиками

Я импортировал из счетов BizTalk из другой системы. Это обеспечит структуру, я отражал внутренне в приложении, как на следующем графике:

  • Order -> InvoiceHeader -> InvoiceHeaderDetails -> Детали_Счетов

Повсеместно Процесса Billing Тяжелое фона график растет и создать структура как следующий один (А теперь это последняя модель):

  • BillingDoc -> Платежная товары -> Order (Per Billing Предмет) -> InvoiceHeader -> InvoiceHeaderDetail -> Детали_Счетов

Наконец, мне нужно будет использовать эти BillingDocs в сетках и понять, есть ли у BillingDoc InvoiceHeader и детали, импортированные из внешней системы, путем повторения большого количества биллинга и его графика, который меня беспокоит.

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

То, что я сделал, - это обозначить Агрегатный корень, если при создании документов у него был InvoiceHeader. Поэтому, когда мне нужно итерации, я избегаю копания большого графа.

Есть ли у вас какие-либо предложения о том, как я могу это сделать, чтобы улучшить этот процесс и сохранить домен? Что вы думаете о моем решении? это нарушает ddd?

Большое спасибо.

+0

Вы читаете только из заказов? – JefClaes

+0

Hey Jef, Да, когда я выполняю отношения между документами фактуры, мне нужно перечислить все документы фактуры в сетке и отобразить значок, который показывает информацию о импортированных заказах. Но прежде чем показывать значок в сетке, мне нужно знать, что каждый документ содержит импортированные счета-фактуры. Так что это звучит как проблема с производительностью. Я смотрю, как это сделать лучше. Благодаря !! –

ответ

0

Я думаю, вам нужно четко различать ваши объекты presentationObjects и Domain Objects, если вы действительно следуете DDD. Если вы думаете об экспонировании объектов домена в сторону пользовательского интерфейса, то я думаю, что такие вопросы возникнут и будут очень трудными из-за производительности и т. Д. Persepctive.

Смежные вопросы