с 10 полями, а в другом - с 5. Как сделать лучше?
1. Использовать одну модель User с 10 полями, 5 из которых nullable.
2. Создать 2 модели User (5 полей) и UserDetails (10 полей).
3. Сущ-й User оставить как есть и добавить новую модель с 5 полями (UserLite/UserEvent?)
Раньше сталкивался с подобны и юзал 2 подход, благо таких моделей было мало, но сейчас их может быть больше и такой подход не нравится по след. причинам: если уже имеется User, придется переименовывать на UserDetails при появлении модели с меньшим кол-вом полей. Тогда проще будет сразу добавлять к моделям "Details", что тоже не очень. Также не нравится вариант с одной моделью, т.к. придется менять поля на nullable. Оптимальным вижу 3 вариант. Что скажете?
Я бы использовал 3 вариант. Обычно использую постфиксы *Preview *Details и т.д. Ещё можно использовать композицию. Отдельно User на 5 полей и отдельно UserBioDetail (ещё 5 полей), такой вариант можно расширять, добавляя другие уточнения про юзера. И можно в экранах, где эти данные опциональные проверять этот доп.объект на null. (Иногда такой подход бывает удобен)
Обсуждают сегодня