程序有里面有一个需求,是统计买家的交互信息,而且必须是当前时间往后推三天的,也就是说统计需要实时的。在设计的时候,这个统计放在加载店铺订单的地方。当发送一个查询请求时,同时在这个查询里面做了对应店铺的统计,也就是有新的数据创建或者更新
我个人认为这是一种不好的设计,在一个查询页面应该避免有更新的操作。想问下各位,在程序设计的时候,一个查询页面中有更新操作到底好不好?如果这样做不好,有没有其他方案满足这个需求?
设计原则有些不是绝对的,这需要根据需求去分析。按照楼主的需求信息理解,统计的数据涉及用户的交互信息,也就是说,针对当前的统计需求,在用户操作的时候同时更新数据,是无法避免的。除非能从需求中再抽象出更高层次的需求,是不需要实时更新用户交互数据的。既然无法避免查询时同时更新的操作,那么就只能优化这一操作模型了。
当前的统计需求,分为两个模型:查询模型和统计用户交互信息模型。有“店铺订单”,猜测应该是电商之类的,那么用户的操作反馈应该是优于统计模型的,除非统计数据对用户才是重点。这点很重要,需要分清楚模型中,哪一些是重点模型。
既然这样,查询模型和统计模型可以采取非阻塞模式,而且应该优先处理用户查询结果。可以用两条线程分开处理,要保证就算统计模块出现问题(计算时间长,出现错误等等),也不影响用户的操作。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。