DAL / BL дизайн вопрос - PullRequest
       26

DAL / BL дизайн вопрос

0 голосов
/ 19 декабря 2010

Я работаю над приложением Windows .NET 2.0. Уровень доступа к данным [DAL] выполняет сохраненные процедуры и возвращает набор данных / набор данных на бизнес-уровень [BL].

BL, который ссылается на DAL dll, выполняет итерацию по datareader / dataset, считывает значения столбцов, создает бизнес-объекты и возвращает его на уровень пользовательского интерфейса.

Учитывая это, нормально ли, что бизнес-уровень ссылается на столбцы таблицы базы данных?

Это хорошая практика в отношении дизайна слоя?

Если я возвращаю бизнес-объект из DAL вместо набора данных / datareader, то мой проект DAL должен будет также ссылаться на BL dll. Так что здесь не будет круговой ссылки? Спасибо.

1 Ответ

3 голосов
/ 19 декабря 2010

Это не хорошая практика, так как ваш уровень данных раскрывает детали реализации и, следовательно, скрытие информации и инкапсуляция теряются.

Вы должны передавать объекты, моделирующие ваши данные.

Например, вместо строки данных order вы должны передавать объект Order.

...