когда использовать несколько библиотек классов? - PullRequest
5 голосов
/ 17 марта 2011

Когда мне следует использовать несколько библиотек классов в .NET.У меня есть ситуация, когда мне нужно использовать функциональные возможности объектной модели Microsoft Office для проверки определенных атрибутов файлов Microsoft Office.Должен ли я использовать разные библиотеки классов для обработки файлов разных типов.

eg:- 1 library for word files, 
     1 library for ppt, 
     so on.

Или я должен собрать все в одну библиотеку классов.

Какой вопрос я должен задать себе перед тем, каксоздать несколько библиотек классов.

Ответы [ 4 ]

5 голосов
/ 17 марта 2011

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

При этом имейте в виду, что отдельные сборки не обязательно совпадают с отдельными проектами .Возможно, вы захотите использовать отдельные проекты для каждого из них, даже если в итоге вы объедините их в одну большую сборку (см. Одна сборка из нескольких проектов ).Я обнаружил, что легче управлять версиями в небольших проектах.

2 голосов
/ 17 марта 2011

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

Если вы собираетесь использовать части функциональности из нескольких приложений, и каждое приложение будетнужно обрабатывать только один из файлов (или, по крайней мере, не все из них), тогда имеет смысл разделять библиотеки по типам файлов.

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

1 голос
/ 17 марта 2011

Keep It Simple .Если у вас нет технической причины для разрыва, не делайте это.

Ответ на этот вопрос в основном личное мнение.Во многих случаях существуют технические причины или шаблоны «лучших практик», которые определяют, как следует отделять код.

1 голос
/ 17 марта 2011

1) Какие (возможные) другие программы будут использовать те же классы и будут ли они развернуты в том же месте?

2) У меня есть небольшая группа классов, которые практически не зависят от остальной системы; было бы логично объединить их вместе в библиотеке классов?

...