竖起大拇指/大拇指向下评级实施

问题描述:

类似于*中的一个,我将需要实现一种方式让人们投票并在网站等论坛中投票。竖起大拇指/大拇指向下评级实施

然而,我们将显示“赞成”和“大拇指朝下”的总数。总分将用于过滤目的,如“按最高评分排序”,“仅显示评分+3”

什么是最佳实施策略?

作为用户的建议,我也会被存储谁铸造了投票信息

那么你就需要存储评级(评论ID,用户名,票值),这样就可以计算出,并停止重复投票但我强烈建议你在你的主要评论实体上添加一个VotesUp和VotesDown字段。

为什么重复?速度。否则你将会做出令人厌恶的SUM-WHERE陈述,并且他们会将数据库服务器放到地上。在标题记录上添加一些额外的字节,您可以对您的内容进行排序和筛选。

编辑:如果您打算在某些情况下按总分进行排序,您可能需要添加第三个字段(VoteTotal)。

编辑2:如果您能够缓存内存中的所有评论标题,则重复是毫无意义的。虽然这是很多数据,你需要大量的内存来有效地缓存它。如果你不是亿万富翁,我只需要复制数据。

+0

您是否建议在写入投票信息(who,when,value)到数据库事务中的数据库的同时增加/减少评论标题求和值以防止可能的不一致或可能更新的计划任务总结的价值经常? – Sprogz 2008-11-12 13:02:39

一些好的开源参考,但不是所有的你问会dotnetkicks

而且听这* podcast哪里这个网站的创建者讨论如何摸索出他们的一些要求。如果您正在计划上述内容,则需要收听。

然后,一旦你在那里,像uservoice这样的服务链接将在开发早期给你一些有价值的反馈。