V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cz21ok
V2EX  ›  编程

关于后台架构设计的问题

  •  
  •   cz21ok · 2019-12-19 20:43:21 +08:00 · 5405 次点击
    这是一个创建于 1794 天前的主题,其中的信息可能已经有所发展或是发生改变。

    假设现在有 A 类与 B 类两个事物,都有一个 id 属性与一个是否被收藏属性,其中 A 与 B 的 id 存在不同的数据库表中,所以可能相撞。 现在服务端有一个收藏接口,目前只接受一个参数 id。 当 A 与 B 的 id 相撞时候,服务端不能识别到底这个 ID 是 A 还是 B 从而导致前端展示出现问题。 现在有以下两个解决方案:

    1.在生成 A 或者 B 对象的时候,确保 A 跟 B 的 id 不会冲突,从而解决上述问题。  
    
    2.在调用服务端接口的时候同时上传 A 或者 B 的 type 以及对应的 Id。  
    

    现在想请大家投票到底哪一个方案比较好,最好给出理由。

    4 条回复    2019-12-19 21:55:45 +08:00
    ZhouDaxia929
        1
    ZhouDaxia929  
       2019-12-19 20:49:32 +08:00 via Android
    我选第二个,因为以后可能会出现 C 类对象,或者重新编码 ID,让它携带类型信息。
    huobazi
        2
    huobazi  
       2019-12-19 20:53:12 +08:00
    如果已有的生产数据,则方案 1 就不能用。
    admin7785
        3
    admin7785  
       2019-12-19 21:47:40 +08:00 via iPhone
    可以第三种吗:确保 id 不冲突,返回时也携带 type
    zhou00
        4
    zhou00  
       2019-12-19 21:55:45 +08:00 via Android
    同意一楼,第二个好一些,另外请教下,
    当 A 与 B 不相撞的时候,服务端的收藏接口是如何识别的啊
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2593 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 15:40 · PVG 23:40 · LAX 07:40 · JFK 10:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.