如何管理应用程序的外部依赖关系?
题
外部依赖有多种类型。与外部应用程序、组件或服务(例如用于发送电子邮件的 Outlook、用于扫描的 TWAIN 或 WIA、用于各种目的的 ActiveX 对象和 Web 服务等等)。
您的策略是什么来确保您的应用程序健壮,并且即使在此类外部依赖项(由于无数原因)不可用时也可以运行?
笔记:您自己的源代码中包含的来自外部源的代码是另一种类型的外部依赖项,但这不是我在这里主要关心的。
解决方案
我们的策略是,除非在特殊情况下,否则我们的软件可能不会这样做。所以我们的编程相当防御性:
- 如果没有邮件连接,则邮件功能不可用。
- 图形输出取决于可用的显卡。
- 只有网络的可用性才能实现分布式功能。
还有更多。
其他提示
另外请注意,随着外部接口,多用户输入,你应该的不信任输入的。总是调用时验证输入,并检查一致性(或存在)。
不隶属于 StackOverflow