如何管理应用程序的外部依赖项?

时间:2008-12-12 12:36:53

标签: language-agnostic defensive-programming robustness external-dependencies

有许多类型的外部依赖项。与外部应用程序,组件或服务连接(例如,Outlook用于发送电子邮件,TWAIN或WIA用于扫描,ActiveX对象和Web服务用于各种目的,等等)。

您确保应用程序健壮的策略是什么,即使这些外部依赖项(由于无数原因)不可用,您也可以运行?

注意:您自己的源代码中包含的外部源代码是另一种外部依赖项,但这主要不是我在这里所关注的。

2 个答案:

答案 0 :(得分:3)

我们的策略是,除特殊情况外,我们的软件不得使用。所以我们在防守方面做得很好:

  • 如果没有邮件连接,则邮件功能不可用。
  • 图形输出取决于可用的图形卡。
  • 只有网络的可用性才能启用分布式功能。

还有更多。

答案 1 :(得分:1)

另请注意,对于外部接口,与用户输入一样,您应该不信任该输入。始终验证输入,并在呼叫时检查一致性(或存在)。