Как правильно реализовать общее ядро ​​(DDD) в .Net

У меня есть устаревшее приложение, которое я переделываю, потому что на данный момент это то, что мы называем« клубком грязи », без разделения на слои или SOC Команда привыкла работать по модульному принципу, то есть есть команда, которая работает над «обучением», «Возможностями трудоустройства», та, которая работает над модулем управления » концепция члена известна и используется всеми модулями. Член на самом деле является основной концепцией, сайт добавляет ценность, отслеживая информацию члена сразу во всех этих областях. Вот и все, несколько тесно связанных, но отдельных областей в системе и общая область. Я надеюсь, что это достаточно ясно, чтобы ответить на мой вопрос.

Я думаю, что у меня все еще было бы общее ядро, даже если это не ограниченные контексты, для общих сущностей и интерфейсов разделяемых доменов, таких как общий интерфейс репозитория. Было бы разумно поместить весь общий код (общий репозиторий, модель основного домена, общее ядро ​​и т. Д.) В одно и то же пространство имен или иерархию пространств имен, и следует ли мне изолировать это пространство имен в его собственной сборке? Точно так же я бы выделил каждую область («обучение», «возможности» ... ) в свои собственные сборки или лучше объединить их все в одну сборку и логически разделить их по пространству имен. С одной стороны, немного легче увидеть модули, физически разделенные на разделы, но меня беспокоят ситуации, когда два модуля должны работать вместе для решения проблемы. Как они будут общаться и поддерживать ацикличность (я предполагаю, через службы на уровне приложений).

итак (сводка опций):

Domain.Model (dll) - Domain.Model.Core - Ядро (общие сущности и основная модель предметной области) - RepositoryFramework -- так далее... - Домен.Модель.Обучение - Домен.Модель. Возможности ...

или

Domain.Model.Core

Domain.Model.Training (dll)

Domain.Model.Opportunities (dll) (как обучение и возможности работают вместе?)

Большое спасибо за ваше время,

5
задан user546077 17 December 2010 в 13:42
поделиться