Связь между BLL и DAL
Настройка решения:
DAL (библиотека классов)BLL (библиотека классов)Common (библиотека классов (некоторые общие функции - перечисления, ведение журнала, исключения, ...))Приложение1 (Приложение Windows)Приложение2 (Приложение Windows)WebApp (веб-приложение)...Допустим, у меня естьПокупатель сущность, которая является:
таблица в SQL-серверетаблица CustomerDataTable в DALКласс клиента в BLLкласс BLL.Customer во всех приложенияхКакие объекты BLL и DAL должны использовать для общения -DataTable
или жеList<Customer>
(например)? В первом случае логика BLL должна преобразовать объект Customer в DataTable и отправить его в DAL. Во втором случае уровень DAL должен знать о классе Customer, который находится на уровне BLL. Но оригинально DLL ссылается на DAL, а не наоборот ...
Должен ли я поместить все классы в отдельную сборку, на которую ссылаются все остальные (Common, BusinessObjects, ...)? В этом случае я мог бы использовать класс Customer во всех моих проектах.
Должен ли я даже разделить DAL и BLL, когда я знаю, что только один BLL будет использовать мой DAL. В этом случае я мог бы объединить их в один проект.
PS - Я читаю о DataTables, и многие люди говорят, что мы вообще не должны их использовать. Какие варианты лучше? Может быть, пришло время изучить некоторые инструменты картирования ORM :)