门面设计模式是否也只涉及类/模块或实际的API调用?

问题描述 投票:1回答:2

[我认为我了解立面设计模式的目的-为客户端提供一个接口,以简化和抽象一个复杂的系统,使他们可以更轻松地执行特定任务。

但是我想到的第一件事是微服务样式系统,其中包含许多api,每个api具有特定的目的和功能。

[如果我创建另一个API(微服务),该API代表客户端对其他两个API进行调用,并将多个API调用抽象为一个调用,则简化了API的特定用法,使客户端更容易使用做某事,那也是门面吗?

或者也许Facade不会调用API,而是导入其他API使用的模块以获取其功能?

我想知道“ facade”在这里是否正确,或者在复杂系统中是否存在用于抽象多个REST API调用的更具体的模式。

design-patterns microservices facade
2个回答
1
投票

是的,

API网关/前端的后端

API网关,它是所有客户端的单个入口点。 API网关以两种方式之一处理请求。某些请求仅被代理/路由到适当的服务。它通过扇出多个服务来处理其他请求。

此模式的一种变体是“前端的后端”模式。它为每种客户端定义了单独的API网关。


0
投票

Thoughtworks建议GraphQL for server-side resource aggregation作为抽象多个REST API调用的一种模式。它符合公认的答案中提到的BFF模式。

© www.soinside.com 2019 - 2024. All rights reserved.