Где разместить сервисный слой - PullRequest
4 голосов
/ 28 декабря 2011

Я использую FluentValidation Framework. И на данный момент у меня есть несколько валидаторов (на одно лицо). Я храню сущности в отдельной сборке (ProjectName.Domain) и валидаторы тоже.

Я читал об уровне обслуживания, который представляет уровень посредника между репозиториями и контроллерами (http://www.asp.net/mvc/tutorials/older-versions/models-(data)/validating-with-a-service-layer-cs). Можно ли держать service layer в той же сборке?

Насколько я понимаю, целью сервисного уровня является хранение конкретного (или, возможно, универсального) репозитория и соответствующего валидатора и проверка правильности элементов репозитория. Так что реализации могут отличаться. Я прав?

Как сделать сервисный уровень с помощью FluentValidation (или независимым от фреймворка) правильным способом. Или было бы приемлемо интегрировать базовую сущность с некоторыми FluentValidation AbstractValidator class.

Спасибо!

1 Ответ

4 голосов
/ 28 декабря 2011

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

As far as I understand the purpose of service layer is to hold concrete (or possibly generic) repository and corresponding validator and make a validation over repository items. So implementations may vary. Am I right?

, что может быть одним из применений для сервисного уровня, но это не обязательно.Термин «услуги» в последние несколько лет стал чрезмерно употребляться настолько, что он почти ничего не значит.

цель многоуровневого приложения - дать приложению возможность адаптироваться к изменениям.это очень расплывчатое утверждение, но это все, для чего он предназначен.слои допускают инкапсуляцию, а инкапсуляция допускает изменения.

...