Должен ли уровень доступа к данным содержать бизнес-логику? - PullRequest
20 голосов
/ 02 марта 2009

Я видел тенденцию вывести бизнес-логику из уровня доступа к данным (хранимые процедуры, LINQ и т. Д.) В слой компонентов бизнес-логики (например, объекты C #).

Считается ли это "правильным" способом делать вещи в наши дни? Если это так, означает ли это, что некоторые позиции разработчиков баз данных могут быть исключены в пользу более средних позиций кодирования? (то есть больше кода на C #, а не более длинных хранимых процедур.)

Ответы [ 12 ]

0 голосов
/ 02 марта 2009

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

0 голосов
/ 02 марта 2009

Причина, по которой я увидел эту тенденцию, заключается в том, что LINQ и LINQ to SQL ORM предоставляют вам хорошую безопасную альтернативу типам хранимых процедур.

Что «правильно», так это то, пользуетесь ли вы этим лично.

...