Я довольно новичок в DDD, поэтому, пожалуйста, держитесь за меня.
У меня есть домен, который специально занимается созданием, редактированием и производством текстовых документов, содержащих данные, связанные с бизнесом. У меня также есть библиотека, которая упаковывает Open XML SDK (. net) и предлагает высокоуровневый API для WordDocument.
Мой пример использования заключается в том, что пользователь может создать такой документ Word ( через соответствующий пользовательский интерфейс WPF), добавьте в него некоторые пользовательские данные, связанные с бизнесом (например, вставьте изображения и текст), а затем, наконец, сохраните изменения и уничтожьте экземпляр. Поэтому мне нужно отслеживать экземпляр слова word в памяти, чтобы справиться со всем этим.
Теперь, следуя пути DDD, обычно я не хочу, чтобы какая-либо технология просочилась в мою модель предметной области, но потом Мне нужно иметь поведение в моем агрегате документов (например, Open (), Save (), FeedData () и т. Д. c.), Которое, конечно, необходимо применить к такому экземпляру слова.
Без ссылок эта библиотека в моем домене, где должен находиться этот экземпляр документа? Должна ли моя соответствующая служба приложений обрабатывать такой экземпляр члена? Но это кажется странным, потому что обычно мои сервисы не имеют состояния и управляют только поведением моих сущностей.
У меня есть сильное желание увидеть требуемую технологию как часть моего домена, и когда мы общаемся с нашими экспертами по доменам, мы фактически говоря о «документах слова», так что это часть вездесущего языка. Я немного сбит с толку, если мое предположение приводит меня сюда не туда.
Я предполагаю, что мой вопрос заключается в том, может ли технология быть частью модели предметной области, если домен (и ее язык) включает технологию?