Общая функциональность в DDD - PullRequest
1 голос
/ 25 октября 2011

Я смотрю на добавление функциональности в проект DDD, но я не уверен, как лучше его вписать.

Необходимая функциональность - это тегирование и манипулирование группами пользователей.

Поскольку многие вещи могут быть помечены тегами (пользователи, журналы, документы и т. Д.), Кажется, анти-СУХОЙ воссоздать эту функциональность в каждом AR.Было бы целесообразно иметь репозиторий тегов, который поддерживает центральную таблицу тегов, а затем иметь различные таблицы «многие ко многим» для различных необходимых типов тегов (т. Е. Связывать теги с userId, journalId и т. Д.) Или, возможно, даже один «многие ко многим».многие таблицы, которые записывают тип отношений.Если да, нужно ли модифицировать объект домена, чтобы он содержал ссылку на теги?

Функциональность группы аналогична.Необходимо разрешить пользователям создавать группы пользователей, а затем назначать группы непубличным объектам (журналам, документам и т. Д.), Чтобы предоставить им доступ для просмотра.

Как лучше всего добавить новые функциик проекту?

Ответы [ 2 ]

2 голосов
/ 20 апреля 2015

Принцип СУХОЙ сформулирован так: «Каждое знание должно иметь одно, однозначное, авторитетное представление в системе».

Разделяя, вы продвигаете однозначные и авторитетные представления о том, что такое DRY.

2 голосов
/ 05 ноября 2011

Разработка отдельных ограниченных контекстов для тегирования и функциональности группы.

...