2014-01-28 3 views
1

Предполагая веб-страницу, где мы хотим отобразить список фильмов, зарегистрировать фильмы и отредактировать эти фильмы.Правильное использование контроллеров и представлений

Вы можете создать контроллер, и внутри контроллера обработать три вида (Индекс, Создать, Изменить).

Или вы можете создать два контроллера, один для обработки Индекса, а другой - для создания и редактирования. (Поскольку создание и редактирование модели или общий ресурс ViewModel)

Или вы можете создать три контроллера, по одному для каждого вида.

Это можно сделать тремя способами. Но какой из них прав и почему?

ответ

0

Контроллеры должны быть логически сгруппированы вокруг объекта \ функциональности. Если все эти три действия связаны с фильмами, то это должен быть MovieController с тремя действиями \ views.

Создание нового контроллера для каждого действия сделает ваш код немного беспорядочным.

0

Вы должны создать контроллер с тремя действиями и представлениями (Индекс, Создать, Изменить).

2

Вы хотите создать один контроллер для этого, например, MoviesController. Операции внутри контроллера будут иметь смысл, так как URL будет выглядеть следующим образом ...

Movies/Create 

Movies/Edit 

Movies //this will just list the movies. 

Контроллер может затем быть передан в Movies repository для манипулирования или перечисления данных.

Очевидно, что вы можете создать три контроллера, но это будет излишним и приведет к головной боли обслуживания.

1

Поскольку ваша бизнес-модель одна, я думаю, вам нужно использовать один контроллер и ваши требуемые действия и представления.

Смежные вопросы