С тех пор нет никаких respositories для объектов значения. Как я могу загрузить все объекты значения?
Предположим, что мы моделируем приложение блога, и у нас есть это классы:
Я Знаю, что, когда я сохраняю новое сообщение, его теги сохраняются с ним в той же таблице. Но как я мог загрузить все теги всех сообщений. PostsRespository должен иметь метод для загрузки всех тегов? Я обычно делаю это, но я хочу знать мнения других
Я ищу лучшее решение для этого вопроса и Я нашел этот пост:
http://gojko.net/2009/09/30/ddd-and-relational-databases-the-value-object-dilemma/
Этот пост очень хорошо объясняет, почему существует много путаницы с ценными объектами и базами данных. Вот фраза, которая мне слишком понравилась:
Гойко Адзич, дайте нам три альтернативы для сохранения наших ценностных объектов.
В настоящее время я работаю над похожим примером. Если вам нужно однозначно ссылаться на теги, они не будут длинными простыми объектами значений и могут продолжать расти в сложности. Я решил сделать их собственными сущностями и создать отдельный репозиторий для их извлечения. В большинстве сценариев они загружаются или сохраняются вместе с публикацией, но когда они требуются отдельно, используется другой репозиторий.
Надеюсь, это поможет.
РЕДАКТИРОВАТЬ: Отчасти благодаря этому сообщению я решил немного реструктурировать свое приложение. Вы правы, что я, наверное, неправильно делал теги сущностью.С тех пор я изменил свое приложение так, чтобы теги были просто строками, а репозиторий сообщений обрабатывал все требования к хранению тегов. Для операций, требующих публикации, теги загружаются вместе с ними. Для любой операции, для которой требуются только теги или списки тегов, в репозитории есть для этого методы.