2016-07-18 5 views
3

В настоящее время гм, работающих в приложении и имеет следующую иерархиюГде мы должны включать в себя бизнес без логики валидаций в Service Layer

WEB API2 Контроллеры (hilds конечные точки)

Business Logic Layer (Dedicated для обработки бизнес-логики)

Доступ к данным Layer (Хранилища)

Если мы хотим ввести проверку, не связанную с бизнес-логикой, как для примера подсчет символов проверки для конкретного тьфу ld в сущности, что будет идеальным местом для его реализации?

Некоторые говорят, что это должно быть на контроллере, но я не могу согласиться с ним.

ответ

1

Вы не должны быть догматичными при использовании многоуровневой архитектуры. Вы можете измерить некоторую абстракцию для любой функции. Эта мера может быть гибкой.

В вашем конкретном примере вы смотрите на проверку размера строки для объекта. Теперь объект name помещает это рядом с уровнем данных, в котором я бы разместил его. Таким образом, ваш уровень данных может вызвать нарушение прав доступа, если кто-то попытается разместить объект с неправильной длиной.