Я хочу сказать, что обычно при загрузке изображения всё равно надо сделать запись о нем в БД. Путь и имя файла, возможно еще какие то данные об изображении, чтобы потом можно было манипулировать этим. Вот если, скажем, есть таблица images, в ней хранится путь до файла, тайтл, теги, пути до миниатюр и тп. Получается что создание записи в таблице никак не может происходить отдельно от загрузки файла, создания миниатюр и прочих преобразований. То есть должен быть какой то 1 метод, который отвечает сразу за создание записи и сохранением изображения, который должен вызываться в конструкторе. Иначе получается что есть 2 публичных метода, которые не могут использоваться по отдельности и всегда должны вызываться последовательно. Вот я всё никак не могу придумать как это должно быть организовано...