Резюме
В этой главе мы применили простой рефакторинг, чтобы удалить бизнес-логику из контроллера и переместить ее в полезную абстракцию. При правильном управлении зависимостями и соблюдении принципов объектно-ориентированного программирования мы сможем разрабатывать программное обеспечение с хорошим дизайном и функциональностью, функционалом, состояние которого может быть легко протестировано в CommandResult
.
Мы расширили ControllerActionInvoker
для управления фильтрами действий. Наследование от ActionResult позволило нам избежать повторяющегося кода, при этом не полагаясь на атрибуты фильтров. Наконец мы использовали шину приложения для написания простых, описательных действий контроллера.
В следующей главе мы изучим устройство важной организационной возможности в ASP.NET MVC - областей.