我想我理解了外观设计模式的目的--为客户端提供一个接口,简化和抽象一个复杂的系统,让他们更容易地执行特定的任务。
但我首先想到的是一个微服务风格的系统,它有许多apis,每个apis都有特定的用途和功能。
如果我创建另一个API (微服务),它代表客户端对其他几个API进行调用,并将多个API调用抽象为一个调用,从而简化API的特定使用,使客户端更容易执行某些操作,这也是一种门面吗?
或者,也许facade不会进行API调用,但会导入其他API使用的模块来获取其功能?
我想知道这里的"facade“模式是否正确,或者是否有更具体的模式来抽象复杂系统中的多个REST API调用。
发布于 2020-05-18 22:05:52
是的,确实有,
用于前端的API网关/后端
API网关,它是所有客户端的单一入口点。API网关以两种方式之一处理请求。一些请求被简单地代理/路由到适当的服务。它通过扇出到多个服务来处理其他请求。
此模式的一个变体是前端模式的后端。它为每种类型的客户端定义了单独的API网关。
发布于 2020-05-22 06:32:51
Thoughtworks推荐将GraphQL for server-side resource aggregation作为抽象多个REST API调用的一种模式。它符合公认答案中提到的BFF模式。
https://stackoverflow.com/questions/61870915
复制相似问题