一个 list 页面里类似“收藏”这样元素的加载方式

2015-01-12 20:45:41 +08:00
 zhangxiao

假设一个list页面,20-50个item,每个item有个“收藏”的按钮。自然需要根据当前用户是否点过显示不同的状态。

加载这个list的时候,收藏的信息如何得到?目前想到的方案:

  1. 后台服务得到list,然后从“收藏“服务那里得到当前结果集针对当前用户的一个状态集,给结果集每个item设置好相应状态,最后返回。前台只管读每个item的状态即可。优点:前台简单,请求少。缺点:后台高耦合,维护和改动成本较高。

  2. 后台服务返回基本的list,前台需要自己从“收藏”服务器那里得到状态集。收藏服务暴露一个基本api,接受一个id,返回其状态。优点:后台低耦合,结构简单。缺点:前台请求暴增(基本不可取),js处理增加一些。

  3. 2的改进版,后台服务返回基本的list,前台需要自己从“收藏”服务器那里得到状态集。收藏服务暴露一个能接受一组id的api,返回一个状态集和。优点:后台低耦合。缺点:前台多一次请求,js处理增加一些,收藏服务的api设计复杂一点。

大家一般选择哪种?还有什么其他方案么?

谢谢。

2188 次点击
所在节点    问与答
5 条回复
lincanbin
2015-01-12 21:46:31 +08:00
1
abelyao
2015-01-12 22:57:45 +08:00
每页 20-50 条记录的话,我会选择 1
chevalier
2015-01-12 23:20:31 +08:00
1
jesse_luo
2015-01-12 23:23:10 +08:00
如果是客户端应用,当然是1啦……
oott123
2015-01-13 00:45:26 +08:00
1 吧
我是觉得,这种程度的耦合很理所当然…

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

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

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

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

© 2021 V2EX