Должна ли логика проверки и исправления данных выполняться на уровне бизнеса или доступа к данным?

Итак, у меня есть общий вопрос о том, где я должен взять определенную логику, например -

var data=GetItems();
if(data==null)
  //return some defaults
else
  return values

// второй случай ..

 if(id<=0)
  //throw some exception
else
  return id

Так должен ли приведенный выше код быть частью уровня доступа к данным (я думаю, что должен) или частью бизнес-уровня. Кроме того, проверка данных должна быть частью доступа к данным или бизнес-уровня?


person Vishal    schedule 11.01.2011    source источник


Ответы (1)


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

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

Итак, я голосую за бизнес-уровень, и вам следует подумать и о слое пользовательского интерфейса.

person Chris B. Behrens    schedule 11.01.2011