Возьмем этот простой, общий сценарий в приложении mvc:
Когда пользователь регистрируется, имя пользователя должно быть уникальным.
Теперь я много читал о структуре проекта, управляемой доменомдизайн, валидация, mvc и т. д., и я доволен своими логическими уровнями: домен (модель, ядро), доменные службы, контроллеры и представления.Например, я могу убедиться, что имя пользователя содержит менее 10 символов, добавив атрибут проверки в мое свойство.Отказы будут пузыриться обратно через сервисный уровень в контроллер и выходить в представление.
Но для этого простого сценария я застрял в поиске лучшего решения для стека вызовов - и это хорошо протестировано, так как этоvalidation должен вызвать базу данных для проверки всех других имен пользователей.
Для меня это все еще проблема проверки модели User.Я действительно хотел бы иметь возможность создать собственный атрибут проверки, чтобы при установке этого свойства сохранялась постоянство, чтобы гарантировать уникальность.
Вау!Доменный объект, вызывающий БД напрямую ??Я не уверен, что это плохо.Я могу сделать так, чтобы Castle вводил IRespositories в домен, верно, поэтому нет жесткой связи, и в конце концов это домен, который определяет интерфейсы данных.
У кого-нибудь есть опыт / мнения по этому поводу?