每日一博 | 微服务平台下基于 GraphQL 构建 BFF 的思考
前端、BFF、后端一些常见的设计模式 写在开头的部分,本文的契机是最近我们组同事在客户端实现了一套 Redux,对某个业务域的功能进行重构设计,iOS、Android 都遵循这套规则,即 Redux。为什么需要客户端去实现一套 Redux?商品模块业务逻辑非常负责,商品基础信息非常多,比如多规格、多单位、价格、库存等信息,还有对应的门店、网店模型,还有各种行业能力开关控制,早期的实现有 Rx 的角色,导致代码逻辑较为复杂,数据流动比较乱。架构设计、代码维护各方面来看都不是很优雅,加上最近有大的业务调整,中台的同学用 Redux + 单向数据流的方式重构了业务。 另一个下线经常请求网关数据,iOS、Android 各自去声明 DTO Model,然后解析数据,生成客户端需要的数据,这样“重复”的行为经常发生,所以索性用 TS + 脚本,统一做掉了网关数据模型自动生成 iOS、Android 模型的能力。但是在讨论框架设计的时候回类比 React Redux、Flutter Fish Redux、Vuex 等,还会聊到单向数据流、双向数据流,但是有些同学的理解就是错误的。所以本文第一部分「...