代码之家  ›  专栏  ›  技术社区  ›  Dofs

在社区驱动网站中计算评分/分数

  •  3
  • Dofs  · 技术社区  · 15 年前

    我有一些赞成和反对的两种方法:

    添加评级:

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

    反对的论点: 如果不同活动的价值发生变化,你就无能为力。 没有办法证明你是如何得到你的分数的。

    计算等级:

    赞成的意见: 对于用户和查看帐户的人来说,拥有点历史记录要容易得多。

    反对的论点: 执行起来有点困难。 更广泛的资源(可以通过缓存数据或创建计算点的作业来防止)。

    3 回复  |  直到 15 年前
        1
  •  2
  •   Martin    15 年前

    我想你几乎什么都想好了。我可以提供一些工程方面的建议。一切都是平等的,总是从更容易实施的事情开始。

    正如你所说,这其中有一些缺点,所以它们不相等,它们提供的功能不同。那么,没有历史你还能活下去吗?如果不是,则先执行计算。你的模型将是紧凑的,定义良好,这总是好的。

        2
  •  2
  •   Stefanvds    15 年前

    看起来您正在尝试构建类似stackoverflow的东西,并且stackoverflow确实有您的点来自的历史记录。当您使用linq时,计算方法可以完全用SQL来完成,而无需花费大量的编程技巧。(尽管它比普通的linq查询要高级一些)

        3
  •  0
  •   Anil Soman    15 年前

    您可以使用ActionFilter类来捕获添加/删除用户点的每个操作。比如AuditActionFilter类。这可以通过将action filter属性放在相应方法的顶部来实现。在audit action filter类中,您可以使用filterContext对象确定执行哪个方法,并跟踪平面文件或xml中每个用户的点的进度,当用户希望查看其历史时,您可以显示/解析这些点。