假设一个list页面,20-50个item,每个item有个“收藏”的按钮。自然需要根据当前用户是否点过显示不同的状态。
加载这个list的时候,收藏的信息如何得到?目前想到的方案:
后台服务得到list,然后从“收藏“服务那里得到当前结果集针对当前用户的一个状态集,给结果集每个item设置好相应状态,最后返回。前台只管读每个item的状态即可。优点:前台简单,请求少。缺点:后台高耦合,维护和改动成本较高。
后台服务返回基本的list,前台需要自己从“收藏”服务器那里得到状态集。收藏服务暴露一个基本api,接受一个id,返回其状态。优点:后台低耦合,结构简单。缺点:前台请求暴增(基本不可取),js处理增加一些。
2的改进版,后台服务返回基本的list,前台需要自己从“收藏”服务器那里得到状态集。收藏服务暴露一个能接受一组id的api,返回一个状态集和。优点:后台低耦合。缺点:前台多一次请求,js处理增加一些,收藏服务的api设计复杂一点。
大家一般选择哪种?还有什么其他方案么?
谢谢。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.