Я застрял в странной проблеме с дизайном,
Я работаю над двумя типами профилей. Модели,
- Профиль пользователя (принадлежит Пользователю)
- другие, которые поддерживаются на месте как "боты" (не принадлежат никому).
Типичное поведение OO этих двух типов профилей одинаково, но только важные атрибуты/свойства являются общими (очень важные из них 5-6), другие свойства, такие как "интересы и т.д." (почти 10-15 свойств) не существует для профилей ботов
Кодер, который работал над этим ранее, создал отдельные модели/Контроллеры для профилей ботов/профилей пользователей, которые создают много избыточности повсюду, а также, как и ожидалось, трудно поддерживать, писать тесты и т.д. Я хотел СУШИТЬ это, по крайней мере, решить некоторые/все эти проблемы избыточности.
Кто-то предложил одностраничное наследование как решение
Кто-то предложил использовать полиморфные ассоциации.
Какой лучший подход. Когда мы действительно используем STI?
Моя собственная мысль была STI лучше всего использовать, когда атрибуты одинаковы для моделей, и они отличаются поведением.
Мысли о том, что я могу сделать?