В нашем приложении MVC все наши действия чтения в качестве параметра принимают запрос, который реализует:
public interface IQuery<out TResponse> { }
В рамках действия запрос передается на шину, которая находит обработчик и возвращает модель представления. Поэтому контроллеры теперь выглядят примерно так:
public ActionResult Edit(DetailsQuery query)
{
var model = mediator.Request(query);
return View(model);
}
Эффективно просто передавать запросы нашему посреднику и возвращать результат. У нас есть сотни действий, которые выглядят так. Есть странное действие, которое делает что-то условное (которое я бы оставил, как есть), но все остальное - это один и тот же шаблон снова и снова. У нас более ста разных запросов
Как я могу реорганизовать это на что-то более явное? Я предполагаю, что вы перейдете к обработчику запросов вида Model View, а не к действию контроллера шаблона, который просто передает запрос на шину и возвращает модель View.
Какие точки расширения следует искать в MVC? Эффективно вместо того, чтобы писать обработчик действий - просто используйте некоторый автоматический способ подключения вместе строго типизированного запроса и возврата правильной ViewModel.
Если смогу? Нужно ли мне? Мне просто не нравится видеть сотни действий, которые выглядят одинаково.