Проверка объектов домена и отображение результатов проверки в представлении - PullRequest
3 голосов
/ 07 января 2010

У меня есть клиент -> сервис -> сервер, архитектура, и я хочу ввести проверку.

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

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

Ответы [ 2 ]

2 голосов
/ 07 января 2010

Как упоминает Джош, для этого нет серебряной пули. Вот подход, который я использовал , чтобы добиться того, о чем вы спрашиваете, с помощью блока приложения проверки библиотеки Enterprise.Это не особенно элегантно (что до сих пор меня беспокоит!), Но оно работает.

2 голосов
/ 07 января 2010

Это довольно сложная тема, но есть фреймворки, такие как CSLA.NET от Rocky Lhotka и предстоящие службы Microsoft WCF RIA , которые пытаются абстрагироваться от некоторых проблем поддержания согласованности набор правил проверки как на клиенте, так и на сервере. Там действительно нет серебряной пули, и я подозреваю, что любые ответы, которые вписываются в ответ переполнения стека, только поцарапают поверхность, поэтому я просто укажу вам на эти две структуры, которые могут дать вам некоторые идеи.

Вы также захотите заглянуть в интерфейс IDataErrorInfo в .NET, который Windows Forms и WPF могут использовать для передачи ошибок в бизнес-объектах обратно в пользовательский интерфейс.

...