Где лучше всего разместить логику проверки с учетом этого дизайна приложения?

Рассмотрим проект веб-приложения ASP.NET MVC 2, в котором используются сущности EF4 POCO и шаблон репозитория для хранения информации в базе данных SQL Server. Пока есть 3 проекта, 4, если вы считаете базу данных:

1.) Domain.dll, не имеет зависимостей, предоставляет интерфейсы POCO и репозитория.

2.) Storage.dll, зависит от домена, реализует интерфейсы репозитория (с использованием EF 4).

3.) Mvc.dll, зависит как от №1, так и от №2, обеспечивает уровень пользовательского интерфейса.

4.) База данных SQL Server + соединение, независимость от dll (без зависимостей).

Допустим, я добавляю другое веб-приложение для размещения службы данных WCF, которая предоставляет канал OData для базы данных с использованием Domain.dll и Storage.dll:

5.) Provider.dll, зависит от домена и хранилища, обеспечивает уровень обслуживания OData.

Какое место в этом решении занимает логика проверки домена? Если классы POCO домена украшены атрибутами проверки, нужно ли службе данных WCF что-нибудь еще для защиты данных? Было ли когда-либо хорошей / плохой идеей помещать логику проверки в хранимые процедуры и почему?

1
задан danludwig 12 October 2010 в 17:26
поделиться