2009-10-29 5 views
3

Конечно, в Visual Studio есть проект, который выводит DLL, которую люди могут использовать. Я знаю это. Мне просто интересно, какие из стандартов, которые разработчики будут ожидать при использовании моего DLL-файла.Как мне сделать файл библиотеки (DLL) для других разработчиков для использования в своих проектах с помощью C#?

Я буду предлагать класс, который ищет фильмы в IMDB и возвращает результаты для разработчика.

Не webservice, а локальный DLL-файл. (Я знаю, что IMDB хмурится веб-соскабливанием, но я также знаю, что они дают разрешение людям, если их просят. Мои разрешения уже отправлены.)

Как я должен подходить к этому?

+0

Вид: http://www.codeplex.com/imdb? – JustLoren

+0

@ JustLoren, точно так, но я намерен немного улучшить его с несколькими друзьями. : D –

+0

Я дам этому вопросу +1 для того, чтобы знать достаточно, чтобы заботиться и спрашивать о стандартах. – David

ответ

2

Вас интересует лучшая практика при разработке библиотеки классов. Об этом можно многое сказать.

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

Например, не полагайтесь на какой-либо ключ, который должен быть установлен в общей коллекции значений ключа, например Session. Пользователь вашей библиотеки не может найти это.

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

+1

Хорошо, спасибо за помощь. С зависимостями вы имеете в виду то, что разработчик должен будет предоставить моей DLL для правильной работы? –

10

Откажитесь от Microsoft Design Guidelines for Class Library Developers.

Или newer version таких же (спасибо paper1337).

+1

+1. Это окончательное руководство по дизайну библиотеки классов и классов. Это базовые стандарты, которые должны знать каждый разработчик .Net. Это обычная почва, поэтому независимо от того, на каком работодателе вы идете, если это магазин разработки .Net, то их стандарты, скорее всего, будут очень близки к этим рекомендациям. – David

+2

Значительно измененная версия, которая «применяется» (в соответствии с MS в любом случае) к .NET Framework версии 3.5, может быть найдена по адресу http://msdn.microsoft.com/en-us/library/ms229042.aspx –

2

Вам необходимо предоставить простой в использовании API, полную документацию и обработанные примеры как минимум. Если вы можете предоставить единичные тесты, которые будут бонусом.

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

0

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

Итак, позаботьтесь о создании контрактов и опишите их на примерах. Сделать публичных участников только в том случае, если это необходимо.

0
  1. Простой в использовании API с соответствующих классов, методов и свойств имен.
  2. API был протестирован (например, модульные испытания)
  3. Вспомогательная документация.