Как вы управляете внешними зависимостями для своего приложения?

StackOverflow https://stackoverflow.com/questions/362627

Вопрос

Существует много типов внешних зависимостей.Взаимодействие с внешними приложениями, компонентами или службами (например,Outlook для отправки электронных писем, TWAIN или WIA для сканирования, объекты ActiveX и веб-службы для различных целей и так далее).

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

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

Это было полезно?

Решение

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

  • Если почтовое соединение отсутствует, функциональность почты недоступна.
  • Вывод графики зависит от доступной видеокарты.
  • Распределенная функциональность обеспечивается только при наличии сети.

И это еще не все.

Другие советы

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top