Представьте себе сценарий, у вас есть страница со списком, которая представляет собой объединение нескольких сущностей на вашем сайте (например, страницы поиска). Вы собираете все сущности вашего сайта в действии и отображаете их все в общий посмотреть тип модели ..
Псевдо:
from articles, posts, projects
orderby rating
select top 50 as 'SearchResult'
Мой класс результатов поиска может выглядеть следующим образом:
SearchResult { Title, Snippet, Rating }
В этом сценарии представление не будет иметь контекста того, что каждый результат «представляет», так как он может генерировать URL для получения более подробной информации, должен ли результат быть классифицирован?
SearchResult { Title, Snippet, Rating, ResultType }
where ResultType is { Article, Post, Project } enum
Это сработало бы, потребовалось бы, чтобы представление открыло связь перечисления с действием контроллера.
Это, однако, может вызвать проблемы с удобством сопровождения, каждый новый тип сущности или раздел статического контента должен быть классифицирован, и сопоставление этой новой категории с действием контроллера ... дополнительно это вызывает проблемы, потому что ... какие данные я передаю к действию? Что делать, если нет данных для передачи?
Похоже, что лучшим сценарием было бы создание URL-адреса "более подробной информации" в действии, где он имеет контекст каждой сущности и отображение действия / данных.
Это нормально для контроллеров / действий для генерации URL, разве они не должны оставаться агностиками?
Заранее спасибо.