Я чувствую себя таким нубом, чтобы задать этот вопрос, но это уже давно подтачивало меня.Business Logic Layer Design
При проектировании BLL многоуровневого приложения вы бы поместили все классы сущности в одно пространство имен? Например: если у вас есть база данных с Клиентами и их Транспортными средствами, и эти Транспортные средства получают обслуживание, можно сказать, что ежемесячно. Я бы подумал, что один из них будет держать клиентов и их транспортные средства в отдельном «модуле» из «сервисного модуля» (так что, если вам когда-либо понадобится обновить способ обслуживания или где хранятся данные, вам не нужно прикасаться модуль Customer \ Vehicle).
Правильно ли я размышляю об этом или должен изменить свои дизайнерские идеи?
Это привело к возникновению проблемы с использованием LINQ to SQL. Если половина классов сущностей таблиц содержится в «модуле» A, а другая в «модуле» B, то где-то вы будете иметь «модуль» ссылочный «модуль» B и наоборот, чтобы учесть ассоциации между двумя таблицами, которые границы с «модулями».
ИЛИ (только подумал об этом сейчас) у вас будет 1 класс сущностей таблицы в «модулях» (с тем же классом в обоих модулях)?
Любые советы будут оценены.
Какова цель избежать изменения пространства имен? Я бы понял для сборки. Обратите внимание, что вы используете модуль имени в кавычках, а это значит, что вы также не совсем уверены, какова граница этих классов. –
Истинные шаблоны дизайна-парней также отделяют BLL от DAL. Поэтому они не беспокоятся о конкретной технологии доступа к данным, ее ограничениях и деталях реализации. – Dennis