Допустим, в моем приложении mvc есть модель, которая имеет много разных типов. Есть одна таблица БД, но есть куча подклассов, которые выражают немного различное поведение.
На странице иногда я хочу показать список всех этих типов моделей, а иногда (когда один активен в данный момент) показать детали этого. Показанные детали довольно малы, максимум несколько слов, поэтому я не могу решить, где их разместить.
Вариант 1 (старый способ предварительного рефакторинга) : в массиве со свойствами для каждого из полей сведений. Преимущество в том, что я могу перебирать все возможные типы. С классами нечего итерировать. Я бы предпочел избавиться от этого массива.
Вариант 2: В модели как свойства. Представления будут обращаться к этим свойствам на основе текущего активного типа, но мне все равно нечего перебирать и показывать все типы. Возможно, мне придется показать их все явно (только 9 из них, не страшно.)
Вариант 3: В отдельных видах буквально написано. У меня было бы 9 разных взглядов, но это позволяет им немного отличаться. Расположение каждого типа может варьироваться.
Для некоторых деталей, это для игры, и модель представляет собой набор действий, которые может выполнить ваш персонаж. Они ведут себя одинаково, но по-разному влияют на различные характеристики.