cz21ok
V2EX  ›  编程

关于后台架构设计的问题

  •  
  •   cz21ok · Dec 19, 2019 · 6516 views
    This topic created in 2515 days ago, the information mentioned may be changed or developed.

    假设现在有 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 replies  •  2019-12-19 21:55:45 +08:00
    ZhouDaxia929
    ZhouDaxia929
    Dec 19, 2019 via Android
    1
    我选第二个,因为以后可能会出现 C 类对象,或者重新编码 ID,让它携带类型信息。
    huobazi
    huobazi
    Dec 19, 2019
    2
    如果已有的生产数据,则方案 1 就不能用。
    admin7785
    admin7785
    Dec 19, 2019 via iPhone
    3
    可以第三种吗:确保 id 不冲突,返回时也携带 type
    zhou00
    zhou00
    Dec 19, 2019 via Android
    4
    同意一楼,第二个好一些,另外请教下,
    当 A 与 B 不相撞的时候,服务端的收藏接口是如何识别的啊
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1526 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 35ms · UTC 12:10 · PVG 20:10 · LAX 04:10 · JFK 07:10
    ♥ Do have faith in what you're doing.