Stackoverflow построен на MVC и делает кучу простых, но приятных вещей с датами и числами (подсчет ответов, голосов и т. д.). Я предполагаю, что все это делается с помощью пары статических вспомогательных классов.
Мой вопрос: должно ли представление вызывать эти вспомогательные объекты или контроллер должен вызывать эти вспомогательные объекты и вставлять результат в ViewData?
Контроллер заполняет данные представления
- Controller Loads Model/Data
- Контроллер использует статический метод DateHelper для преобразования даты в удобную строку
- Дружественная строка даты предоставляется для просмотра через ViewData
Контроллер заполняет данные представления моделью, а представление вызывает DateHelper
- Controller Loads Model/Data
- Контроллер предоставляет модель для просмотра через ViewData
- Когда ViewData привязывается к HTML, он вызывает статический метод DateHelper.
Я подозреваю, что номер 1 - правильный путь, но он кажется немного запутанным, поскольку вы можете взять список моделей, и их легко перебрать в представлении. Если вы обрабатываете и генерируете кучу понятных строк на основе набора экземпляров модели, а в модели нет места для их прикрепления к конкретному экземпляру, вы в конечном итоге отправляете два разных списка данных в ViewData. Правильно?
Ваши мысли оценены.