Как часть моей модели домена, скажем, у меня есть объект WorkItem
. Объект WorkItem
имеет несколько отношений к значениям поиска, например:
WorkItemType
:
- пользовательские истории
- Ошибка
- Улучшение
Priority
:
- High
- Средние
- Низкая
И может быть больше, например Status
, Severity
и т.д.
DDD заявляет, что если в корне агрегата существует что-то, что вы не должны пытаться получить к нему доступ за пределами корня aggregate. Поэтому, если я хочу иметь возможность добавлять новые теги WorkItemType, такие как Task, или новые приоритеты, такие как Critical, должны ли эти значения поиска быть агрегированными корнями со своими собственными репозиториями? Это кажется немного переполненным, особенно если они являются только ключевой парой значений. Как я могу разрешить пользователю изменять эти значения и соблюдать правила суммарного корневого инкапсуляции?