开发者社区> 问答> 正文

一个查询请求有更新操作是否是好的设计?

程序有里面有一个需求,是统计买家的交互信息,而且必须是当前时间往后推三天的,也就是说统计需要实时的。在设计的时候,这个统计放在加载店铺订单的地方。当发送一个查询请求时,同时在这个查询里面做了对应店铺的统计,也就是有新的数据创建或者更新
我个人认为这是一种不好的设计,在一个查询页面应该避免有更新的操作。想问下各位,在程序设计的时候,一个查询页面中有更新操作到底好不好?如果这样做不好,有没有其他方案满足这个需求?

展开
收起
蛮大人123 2016-02-29 15:56:53 2290 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    设计原则有些不是绝对的,这需要根据需求去分析。按照楼主的需求信息理解,统计的数据涉及用户的交互信息,也就是说,针对当前的统计需求,在用户操作的时候同时更新数据,是无法避免的。除非能从需求中再抽象出更高层次的需求,是不需要实时更新用户交互数据的。既然无法避免查询时同时更新的操作,那么就只能优化这一操作模型了。
    当前的统计需求,分为两个模型:查询模型和统计用户交互信息模型。有“店铺订单”,猜测应该是电商之类的,那么用户的操作反馈应该是优于统计模型的,除非统计数据对用户才是重点。这点很重要,需要分清楚模型中,哪一些是重点模型。
    既然这样,查询模型和统计模型可以采取非阻塞模式,而且应该优先处理用户查询结果。可以用两条线程分开处理,要保证就算统计模块出现问题(计算时间长,出现错误等等),也不影响用户的操作。

    2019-07-17 18:50:25
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
面向失败设计 立即下载
事务、全局索引、透明分布式 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载