Проверка: модель или ViewModel

URI => http://en.wikipedia.org/wiki/Uniform_Resource_Identifier

URL является подмножеством URI (которые также содержат УРНЫ).

В основном, URI является общим идентификатором, где URL определяет местоположение, и УРНА определяет имя.

24
задан Marc Climent 28 September 2009 в 10:58
поделиться

3 ответа

Любая специфическая для бизнеса проверка должна быть в Модели. Любая конкретная проверка веб-сайта может выполняться как в модели, так и в модели просмотра. Таким образом, ваша бизнес-логика (модели) может перейти в другой интерфейс (Windows, веб-формы и т. Д.), И ваша проверка останется неизменной.

19
ответ дан 28 November 2019 в 23:52
поделиться

Я бы сказал, что это часто требуется для проверки на всех уровнях :)

Некоторое время я думал о следующем:

  1. Проверка пользовательского ввода: определенно на контроллере, а не на любой тип модели. Пример: Captcha .
  2. Просмотр связанных данных, проверенных на ViewModel (не IN ViewModel, а ON ViewModel). Примеры: Подтверждение пароля , Требуемый адрес электронной почты .
  3. Проверка бизнес-правил определенно входит в проверку модели. Примеры: Требуемый адрес электронной почты , Купон на скидку должен быть действительным .
  4. Проверка возможного варианта использования (история, сценарий и т. Д.). Он не проверяет атрибуты, но проверяет правильность всего процесса. Следует перейти к проверке модели (или лучше в отдельном слое). Пример: положить для заданного периода .

ПРИМЕЧАНИЕ: Я включил Обязательный адрес электронной почты как в 2, так и в 3, поскольку это часто зависит от того, где он находится.
Если электронная почта играет только информативную роль - тогда валидацию можно ослабить и перенести в модель представления. Если электронная почта является серьезным требованием для приложения - это определенно проверка модели.

Четвертая вещь на самом деле не имеет ничего общего с валидацией в нашем понимании.
Но его тоже следует применять. Таким образом, его результат должен быть показан пользователю.

По сути, все 4 типа проверки могут использовать одну и ту же инфраструктуру. Но реализация зависит :) ...

Ура,
Дмитрий.

11
ответ дан 28 November 2019 в 23:52
поделиться

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

5
ответ дан 28 November 2019 в 23:52
поделиться
Другие вопросы по тегам:

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