首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算社区驱动站点中的评等/点数

计算社区驱动站点中的评等/点数
EN

Stack Overflow用户
提问于 2010-08-29 20:15:37
回答 3查看 226关注 0票数 3

为了学习ASP.NET MVC,我正在考虑创建一个类似这样的社区论坛,在那里人们可以对帖子、用户等进行评分,用户也可以因此获得积分。我只是不知道当一个动作完成时,是否应该将这些点添加到用户配置文件中(上传/降级,用户创建新的帖子等等)。或者应该根据用户所做的不同活动进行计算。

我有两种方法的正反两种:

添加评级:

Pro:更容易实现,速度更快,资源消耗更少。

如果不同活动的价值发生变化,你就什么也做不了。没有办法展示你如何得到你的观点的历史。

计算等级:

支持:对于用户和查看帐户的人来说,拥有一个点历史记录要容易得多。改变给定活动的点数的可能性。

更难实现。更广泛的资源(可以通过缓存数据或创建计算点数的作业来防止)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-09-01 11:06:22

我想你已经考虑过一切了。我可以提供一些工程技巧。所有的事情都是平等的,总是从更容易实现的开始。

就像你说的,有一些缺点,所以它们是不平等的,它们不提供相同的功能。所以没有历史你还能活下去吗?如果没有,则首先实现计算。您的模型将是紧凑和明确的,这总是很好的。

如果稍后您确定这是cpu密集型的,那么只有这样,您才会使用缓存或作业来修复它。都是好主意,顺便说一句。90%的时间,除非你真的测量它,否则你会在不必要的优化上费劲。不必要的优化是错误的。

票数 2
EN

Stack Overflow用户

发布于 2010-09-01 11:12:55

看起来,您正在尝试构建类似于堆栈溢出的东西,而stackoverflow确实有您的观点来源的历史。当您使用linq时,计算方法可以完全在SQL中完成,而无需花费大量的编程技巧。(虽然它比普通的linq查询要高级一些)

我选择第二个选项,仅仅是因为它更有趣,您将从总体上了解更多关于linq、缓存和MVC的知识。

票数 2
EN

Stack Overflow用户

发布于 2010-09-01 11:15:01

您可以使用ActionFilter类捕获添加/删除用户点的每个操作。就像AuditActionFilter课。这可以通过将action filter属性放在相应方法的顶部来完成。在审核操作过滤器类中,您可以使用filterContext对象判断哪种方法易于执行,并跟踪平面文件或xml中每个用户的点的进度,当用户想要查看他的历史时,可以显示/解析。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3596417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档