V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
shadow1949
V2EX  ›  问与答

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

  •  
  •   shadow1949 · 2022-04-17 19:10:46 +08:00 · 829 次点击
    这是一个创建于 712 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

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

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

    如果只是为了完成功能 那就 CV 呗
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2868 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:37 · PVG 19:37 · LAX 04:37 · JFK 07:37
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.