Одна DLL для каждого проекта или для каждого модуля? - PullRequest
1 голос
/ 06 марта 2012

Я привык работать над решениями с 3-уровневыми проектами (некоторые решения имеют более 3 проектов). Большинство из них являются решениями ASP.Net MVC, поэтому у многих из них есть свои проекты: Site, Business и Data. Итак, будет создано 3 DLL, верно?

В эти дни мне было интересно, должен ли мой бизнес-уровень быть только одной DLL или мне нужно создать DLL для каждого модуля в этом бизнес-уровне, например, Product.DLL, Order.DLL, Customer.DLL и так далее.

Я думал, что если в приложении есть ошибка на бизнес-уровне, связанная, например, с продуктом, я мог бы только развернуть Product.DLL вместо развертывания всей Business.DLL.

Что вы думаете об этом?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 06 марта 2012

Вы можете написать трехслойный код в одном проекте, если это небольшая система.Вы можете распределить систему по многим библиотекам DLL, для больших систем.

Для небольших систем может быть достаточно использовать пространства имен для различения уровней.Нет единой рекомендации, подходящей для всех.

Если вы согласитесь с таким подходом, то библиотеки DLL, как правило, будут физическим артефактом, а не логическим - какие компоненты версии вместе и должны быть развернуты вместе и / иликакие компоненты требуют физического разделения.

1 голос
/ 06 марта 2012

Если у вас нет очень большого бизнес-уровня, я бы не стал разбивать его на несколько библиотек. Это может внести ненужную сложность в ваш проект.

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

...