【问题标题】:How do you manage external dependencies for your application?您如何管理应用程序的外部依赖项?
【发布时间】:2008-12-12 12:36:53
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    还有更多。

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 2015-09-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-09-15
        • 1970-01-01
        • 1970-01-01
        • 2011-09-04
        • 2019-05-27
        相关资源
        最近更新 更多