5

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

你有什么策略来确保你的应用程序是健壮的,并且即使在这种外部依赖项(由于无数原因)不可用时也可以运行?

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

4

2 回答 2

3

我们的策略是,我们的软件可能不会,除非在特殊情况下。所以我们非常防御性地编程:

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

还有更多。

于 2008-12-12T12:57:30.887 回答
1

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

于 2008-12-12T13:36:41.930 回答