Пишу следующий функционал: Пользователь может создавать записи, у записей есть типы(текст, изображение, видео). В зависимости от типа у него будут индивидуальные поля заполнения(ссылка на видео, текст или изображение). Думаю какими способами можно построить подобную структуру в проекте? Как мне кажется, нужно создать родительский класс Post и уже от него наследовать TextPost, ImagePost, VideoPost.
Хотелось бы увидеть как вы строите архитектуру подобного функционала, или же посоветуете паттерн. Спасибо.
Мне кажется это слишком грошовый функционал чтобы тратить время на какое-то обстоятельное проектирование, проще попробовать первый попавшийся вариант и на практике оценить его жизнеспособность. Можете все вариации поста реализовать в одном компоненте, тогда в этом компоненте у вас будет сложный шаблон и куча-куча функционала; можете сделать как уже сами сказали один родительский пост и вариации в виде дочерних компонентов, тогда шаблон будет гораздо проще, а каждый конкретный тип поста будет содержать только необходимый функционал. Мне кажется адекватным последний вариант, но в зависимости от количества типов постов это может быть лишней сложностью.