关于后台架构设计的问题

2019-12-19 20:43:21 +08:00
 cz21ok

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

1.在生成 A 或者 B 对象的时候,确保 A 跟 B 的 id 不会冲突,从而解决上述问题。  

2.在调用服务端接口的时候同时上传 A 或者 B 的 type 以及对应的 Id。  

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

5285 次点击
所在节点    编程
4 条回复
ZhouDaxia929
2019-12-19 20:49:32 +08:00
我选第二个,因为以后可能会出现 C 类对象,或者重新编码 ID,让它携带类型信息。
huobazi
2019-12-19 20:53:12 +08:00
如果已有的生产数据,则方案 1 就不能用。
admin7785
2019-12-19 21:47:40 +08:00
可以第三种吗:确保 id 不冲突,返回时也携带 type
zhou00
2019-12-19 21:55:45 +08:00
同意一楼,第二个好一些,另外请教下,
当 A 与 B 不相撞的时候,服务端的收藏接口是如何识别的啊

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

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

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

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

© 2021 V2EX