Допустим, у меня есть приложение для блога.
Автор может добавить несколько изображений в сообщение, указав ссылку на URL-адрес существующего изображения в Интернете, или загрузив новое изображение.
Я хочу иметь возможность отслеживать от изображения (загруженного или по URL) ко всем сообщениям, в которых используется это изображение, и от конкретного сообщения ко всем изображениям в этом сообщении (например, чтобы я мог удалить изображения которые являются незаконными, и / или приостановить публикацию, которая их использует, до тех пор, пока автор не исправит сообщение).
Однако я использую разные сущности для загруженного изображения и изображения URL - загруженное изображение содержит больше данных об изображении, чем изображение URL.
Это приводит к более сложному коду, так как при каждом сохранении отредактированного сообщения мне нужно проверять, какой тип является конкретным изображением (из всех изображений в сообщении, которые мне нужно просмотреть), а затем создавать или обновлять его запись и назначьте полю отношения в сущности сообщения.
Итак ... предполагая, что у меня есть объекты UploadedImage
и UrlImage
, я подумал о наличии метода setImages
в сообщении
], который проверяет каждое полученное изображение, загружено ли оно или URL, а затем вызывает либо setUploadedImages
, либо setUrlImages
.
Однако мне понадобится какой-то виртуальный репозиторий изображений
, чтобы загружать изображения таким же образом.
Это звучит немного сложно, и я подумал: