V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
cz21ok
V2EX  ›  编程

关于后台架构设计的问题

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