Если вы делаете MVC, скорее всего, вы работаете с нуля, используя TDD.
Я не уверен, что это лучший способ, но то, как я это делаю ...
- Сделать мои бизнес-объекты.
- Определите некоторую структуру валидации, чтобы бизнес-объекты могли возвращать список ошибок в своем текущем состоянии и тестировать те, которые используют модульное тестирование.
- Если вы используете linq to sql, реализуйте частичный метод OnValidate () и сделайте так, чтобы он вызывал ваш mybusinessobject.geterrors (). OnValidate вызывается, когда вы выполняете db.submitchanges (), чтобы вы могли остановить сохранение неверных данных
- Теперь в ваших контроллерах, когда кто-то создает новый бизнес-объект или редактирует его, создайте объект с любыми данными, полученными от пользователя, - затем вызовите метод geterrors () и сделайте все, что угодно
- Затем проверка на стороне клиента, если вас могут арестовать
Это структура, которая описана здесь Скоттом Гатри: http://weblogs.asp.net/scottgu/archive/2008/09/02/asp-net-mvc-preview-5-and-form-posting-scenarios.aspx
Мне это нравится, и это означает, что вы можете определить свои бизнес-правила один раз и повторно использовать их на разных уровнях, что означает, что менее вероятно, что вы пропустите их в определенной области, когда обновляете вещи