【问题标题】:Right Pattern to internal and external Services exposed向内部和外部服务公开的正确模式
【发布时间】:2017-01-23 22:28:41
【问题描述】:

我正在构建一个服务(休息服务),它对数据库进行内部调用,然后进行一个外部 Web 服务调用。此服务可用于内部请求并暴露给外部客户调用,我怀疑我是否可以将此服务命名为 Facade 或 Gataway。我确实读过网关和外观模式,一种是客户是外部应用程序,另一种是内部应用程序,所以我没有发现这两种调用的服务模式。

【问题讨论】:

    标签: design-patterns anti-patterns


    【解决方案1】:

    在许多方面Gateway/Facadetwo sides of the same coin 网关模式将用于简化对您外部的 Web 服务的调用(即提供一致的 API),而外观模式将用于提供为您的客户提供您自己的内部 API 的简化版本。

    如果您希望您的客户能够像您一样访问外部 Web 服务,您可以随时将简化的外部 API 直接合并到您的外观中。一个更好的解决方案可能是通过使用command pattern(或类似的)将其与您的内部分离,如果外部 Web 服务 API 添加功能或更改,无论出于何种原因,您有一个简单的方法来修改您的系统来应对。

    我认为对于您的特定用例没有一个模式,您将不得不根据最有效/为您提供最一致、可维护的代码的方式来设计您的解决方案。

    【讨论】:

      猜你喜欢
      • 2021-04-15
      • 1970-01-01
      • 1970-01-01
      • 2019-01-04
      • 2014-12-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多