Обновление объекта (и, следовательно, базы данных) принадлежит репозиторию. Сам репозиторий - это слой между самой базой данных и программой.
Каждая операция базы данных поэтому принадлежит к репозиторию. Кроме того, репозиторий не должен связываться с базой данных, он также может иметь XML, CSV или API в качестве источника данных. Но это не имеет значения, потому что вы общаетесь с репозиторием. Репозиторий имеет дело со всем, что происходит потом.
Вы можете просто изменить репозиторий на другой, и ваша программа будет работать без каких-либо проблем, потому что все хранилища реализуют один и тот же интерфейс. Вам больше не нравится эта база данных MySQL, что старомодный CSV намного лучше? Просто замените использованный репозиторий, и все готово.
Поиск записи в репозитории не более, чем SELECT
, поэтому почему вы не должны UPDATE
или DELETE
?
Дальнейшее чтение на MSDN
Найдено большое объяснение и пример на web.archive.org
Не «обновляет» операцию, которая выполняется на самом объекте? Или вы имеете в виду «обновление», как в случае «сохранения существующего объекта с измененным состоянием обратно в хранилище данных»? – David
Вы должны обновить объект, а затем передать обновленный объект обратно в репозиторий; неважно, будет ли ваше репо удерживать объекты в памяти или базу данных, которые вы все еще собираетесь делать как '$ repo-> save ($ object)' – CD001
У нас есть хранилища для сохранения объектов (сложных или нет) , Стойкость включает поиск, но также сохранение (новых или обновленных) объектов (чтобы что-то найти позже). – axiac