Проблема
Скажем, я хочу отобразить некоторые значения на веб-сайте в соответствии с хорошими принципами MVC (а также с рекомендациями ASP.NET MVC, но проблема, скорее всего, не связана с конкретной инфраструктурой MVC), например:
А - число type A items
,
Б - число type B items
,
T - количество all items
(общее количество),
A/T % - percentage of type A items
,
B/T % - percentage of type B items
,
Опции
Теперь я вижу несколько подходов к заполнению класса ViewModel для использования в представлении:
- Поместите
all 6 values
в ViewModel и просто отобразите их там, где это необходимо, без каких-либо вычислений на стороне клиента,
поскольку мы не принимаем расчеты на стороне клиента.
- Поместите только
A
,B
в ViewModel, клиент вычислит общее количество (A+B) и процент (A/T % и B/T %),
поскольку мы хотим отправлять как можно меньше данных в ViewModel по сети.
- Поместите
A
,B
,T
в ViewModel, клиент вычислит процент (A/T % и B/T %),
поскольку мы считаем эти значения еще одним визуальным представлением уже полученных данных.
Вопрос
Какова наилучшая практика в отношении того, что должен содержать объект ViewModel?