Физическое или логическое разделение моих библиотек? - PullRequest
0 голосов
/ 16 марта 2010

Я помещаю разные компоненты в разные библиотеки DLL, а потом обнаруживаю, что у меня слишком много библиотек DLL, стоит ли мне помещать их в одну библиотеку DLL, но я использую пространство имен для их разделения?

Ответы [ 4 ]

3 голосов
/ 16 марта 2010

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

2 голосов
/ 16 марта 2010

Да, лично при сборке библиотеки я склоняюсь к тому, чтобы поместить все связанные функции в одну сборку.Основное правило, которым я руководствуюсь: если одна DLL зависит от другой DLL, которая связана каким-либо образом, я обычно объединю их в одну DLL.Это, конечно, предполагает, что оба проекта разрабатываются одновременно.

1 голос
/ 16 марта 2010

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

1 голос
/ 16 марта 2010

Вы также можете использовать ILMerge в процессе сборки, чтобы объединить множество проектов в одну DLL.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...