我有一个react-redux
应用程序,我的团队使用grpc-web。我想知道 - 设计这种系统的最佳方法是什么?
目前计划是创建 3 个抽象级别:
API
grpc-web
模块 -客户周围的承诺包装器Redux thunks
level - 处理 API 的异步操作创建者React components props
- 将只询问组件需要什么
所以components
一无所知grpc
,他们与动作创建者混为一谈,动作创建者一无所知grpc
,他们处理一个api
模块,并且只有api
模块与grpc-web
存根一起使用。
我想走这条路的原因:
- 动作创建者和组件中没有特定于 grpc 的代码
- 我的基于 Promise 的 API 而不是 grpc-web 的基于回调的 API
我的问题是:
- 在 Redux 和 grpc-web 之间有一个抽象级别是个好主意吗?或者最好将这些东西保留在动作创建者的逻辑中?
- 我应该考虑一个通用的设计模式吗?(我在考虑“适配器”)
grpc-web
承诺API是个好主意吗?如果是的话,编写一个函数并即时执行是个好主意吗?- 我可以说我目前的计划是适配器模式吗?
- 如果我想使用适配器模式,我是否必须将数据收集的每个元素映射到我自己的接口?我知道我的组件(可能还有动作创建者)不应该依赖
grpc-web
API,因为这个 API 将来可能会改变