一个服务 A 对接 PC,一个服务 B 对接 APP,部分业务逻辑都差不多,怎么处理这种情况?

2022-04-17 19:10:46 +08:00
 shadow1949

A 和 B ,都会去调用一些基础服务(如库存、订单和营销之类的)

比如 A 和 B 中都有相同的创建订单逻辑,业务逻辑都差不多,都是冻结库存、冻结金额和创建订单等操作。

如果此时在 A 中已经写好创建订单的逻辑,在 B 中也想写这段逻辑(可能出入参不完全一样),大家会怎么做?

  1. B 依赖 A ,调用 A 的 SDK 实现:都是对外,相互依赖不合适;流量都会落到 A ;

  2. B 复制 A 的方法:不优雅;有 BUG 改两次;

  3. 重写:重复开发,浪费时间。

想问问大家,这种情况,大家一般怎么处理?

941 次点击
所在节点    问与答
6 条回复
IvanLi127
2022-04-17 19:44:45 +08:00
来个服务 C ,把逻辑抽到 C 上面。然后 A 和 B 一起依赖 C 。
visitant
2022-04-17 20:36:02 +08:00
一个服务同时给 PC 、APP 提供服务
oneisall8955
2022-04-17 20:48:06 +08:00
cv 操作,能跑就行
wzzzx
2022-04-17 21:20:13 +08:00
遇事不决多加一层
ration
2022-04-17 21:23:29 +08:00
遇事不决多加一层
freeup
2022-04-18 09:32:43 +08:00
这么典型的场景 如果是确实要做好 肯定要单独抽个订单服务,APP 和 PC 两个接口,内部对于创建订单进行抽象,提供一些公共的操作,APP 和 PC 各自集成 处理自己那部分特殊业务与处理

如果只是为了完成功能 那就 CV 呗

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/847513

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX