Зачем использовать fluentvalidation вместо проверки ASP.NET MVC

В каких обстоятельствах вы бы выбрали FluentValidation (FV) вместо ASP.NET MVC 3 способ ?

Каковы преимущества FV перед MVC? Я понимаю, что с последним мы должны писать намного больше кода и можем засорять код аннотациями данных. Более того, казалось бы, проще написать собственную проверку с использованием FV, чем MVC. Однако с помощью MVC можно использовать аннотацию данных и подключить проверку jQuery.

Итак, что, по вашему мнению, заставит вас выбрать одно из них? Существуют ли обстоятельства, при которых вы бы даже использовали оба?

26
задан ahmadali shafiee 5 March 2015 в 13:30
поделиться

1 ответ

Свободная проверка - это один из способов настройки выделенных объектов проверки, который вы будете использовать, когда хотите рассматривать логику проверки отдельно от бизнес-логики. Парадигма аспектно-ориентированного программирования (AOP) позволяет разделить сквозные проблемы внутри системы, и валидация является одной из таких проблем. Разделение проверки помогает очистить код вашего домена и сделать его более сплоченным, а также дает вам единственное место для поиска логики проверки.

Проверка на основе аннотаций MVC - это очень «дешевый» способ получить некоторую базовую проверку в приложении, не тратя время на создание выделенных объектов проверки, создание системы проверки, которая организует их и объединяет все вместе. Это очень легко настроить, но может сделать ваши доменные объекты менее чистыми.

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

Мне лично нравится использовать оба подхода: добавить атрибуты валидации в классы ViewModel (что означает, что аннотации не загромождают объекты моего домена), а также иметь выделенные объекты валидатора в слое моего домена. Это небольшое количество дублирования, но использование аннотаций настолько быстро и просто, что я считаю, что это стоит дополнительных затрат на обслуживание.

31
ответ дан 28 November 2019 в 07:49
поделиться
Другие вопросы по тегам:

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