Как мне сделать файл библиотеки (.dll) для других разработчиков, чтобы использовать в своих проектах с использованием C #? - PullRequest
3 голосов
/ 29 октября 2009

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

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

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

Как мне подойти к этому?

Ответы [ 6 ]

10 голосов
/ 29 октября 2009

Ознакомьтесь с рекомендациями Microsoft по разработке для разработчиков библиотек классов .

Или более новая версия того же самого (спасибо paper1337).

2 голосов
/ 29 октября 2009

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

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

2 голосов
/ 29 октября 2009

Тогда вас интересуют лучшие практики при разработке библиотеки классов. На эту тему можно многое сказать.

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

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

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

1 голос
/ 29 октября 2009

Если вы или кто-либо серьезно относитесь к созданию хорошей основы для использования другими, проверьте http://www.amazon.com/Framework-Design-Guidelines-Conventions-Libraries/dp/0321246756

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

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

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

...