Когда я должен создать новый класс контроллера в ASP.NET MVC?

Нет, метод обратного вызова @PreUpdate не всегда выполняется, когда выполняется метод обратного вызова @PrePersist. @PrePersist выполняется до операции постоянства (прямой или каскадный) и @PreUpdate до обновления базы данных.

В спецификации JPA 2.1 (3.5.3 Семантика методов обратного вызова жизненного цикла для объектов) об этом говорят следующие слова:

Методы обратного вызова PrePersist и PreRemove вызываются для данного объекта перед соответствующие EntityManager сохраняют и удаляют операции для этого объекта.
...
Обратные вызовы PreUpdate и PostUpdate происходят до и после операций обновления базы данных до данных объекта соответственно.

7
задан Daniel 7 January 2009 в 23:31
поделиться

3 ответа

Я думаю, что необходимо быть прагматически настроены об этом. Я работаю над проектом, который состоит из StatsController. Количество действий непрерывно растет (RandomStat, MostPopular, MostViewed, MostVoted, и т.д....), список продолжается и на. Эти действия просты удовлетворить, так как зависимости StatsController не изменяются. Я использую МОК для удовлетворения то, в чем нуждаются мои Контроллеры и когда я начинаю видеть, что моим Контроллерам нужны ссылки на новые объекты, это - сигнал, что они должны быть разбиты.

Если Ваш LoginController, PasswordController и ProfileController, все полагаются на те же объекты, почему разбивают их?

7
ответ дан 6 December 2019 в 11:53
поделиться

Необходимо выделить контроллер для каждого типа модели, которым Вы управляете. Контроллер действует как набор действий, которые реагируют на те модели. Это обычно - эмпирическое правило, но иногда объем контроллера превышает единственную модель.

AccountController имеет дело со всеми вещами связанная аутентификация. Это - пример выхода за пределы объема единственной модели для затрагивания аутентификации в целом. Каковы ключевые роли аутентификации? Получение пользователей, изменение паролей, и т.д.

10
ответ дан 6 December 2019 в 11:53
поделиться

Мой текущий AccountController имеет 12 методов, чтобы мне абсолютно управляемо.

У меня есть другой контроллер, который в настоящее время имеет 34 метода, но они все связываются с единственным представлением, и у каждого из них есть приблизительно 8-10 строк кода макс. (проверьте обязательные параметры, обновите модель и перенаправьте по мере необходимости).

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

0
ответ дан 6 December 2019 в 11:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: