В приложении блога, разработанном с использованием доменного дизайна, сущность 'Post' имеет связанную коллекцию сущностей тегов.
При создании сообщения (например, заполнение объекта из пользовательского интерфейса) я хотел бы вызвать сторонний API через REST, который принимает содержимое сообщения и извлекает семантические теги ( текст ссылки ) для ассоциации .
Главный вопрос : Как лучше всего спроектировать это ...
Лучше ли он спроектирован так, чтобы сущность Post вызывала доменную службу, такую как PostServices.GetTags (Postcontent), передавая свое содержимое и получая обратно список тегов .?
** PostServices.GetTags будет затем взаимодействовать с REST API через дополнительный класс-оболочку.
Или сторонний API должен быть упакован как репозиторий?
Должна ли функция Post.GenerateTags () вообще не существовать в доменном объекте?
Дополнительные вопросы :
1: Я также читал, что не рекомендуется, чтобы объект домена общался с услугой домена. Это правда?
2: Можно ли получить ссылку на службу домена PostServices с помощью метода создания фабрики. например ...
IPostService PostService = ServiceUtil.GetPostService ();
return PostService.GetTags (Post.content);
3: Допустимо ли подключение доменной службы к API стороннего поставщика?
4: Должен ли объект домена просто знать, как обращаться с тегами, полученными через прикладной уровень, который называется REST API.
Медленно пытаюсь разобраться с DDD, однако я не могу найти никаких примеров того, как реализовать подобные вещи.