有个逻辑问题问下大家

2016-01-20 15:54:47 +08:00
 qxli

有个逻辑问题问下大家,要实现一个等级升级推送的功能,等级是靠积分走的,每次操作会加积分,例如积分到了 100 就会升到 2 级,到了 200 就会升到 3 级,现在升级的时候现在需要推送告知

关于这个大家有没有比较好的方案,最好耦合性低一点,我不太想把推送的逻辑直接放倒增加积分的服务里。

2494 次点击
所在节点    程序员
9 条回复
dear123
2016-01-20 16:00:50 +08:00
业务分离还是实现分离阿?
k9982874
2016-01-20 16:11:50 +08:00
mq 啊 多合适
ethego
2016-01-20 16:13:33 +08:00
异步推送就好了呗,这边加完积分发送一个信号给线程池
ryanking8215
2016-01-20 16:42:04 +08:00
观察者模式或者委托, signal/slot 啥的
pelloz
2016-01-20 17:05:17 +08:00
积分的变动应该有一个统一管理的服务,然后这个服务提供观察者注册,所有注册的观察者在积分发生变动的时候收到通知。
ljcarsenal
2016-01-20 17:08:13 +08:00
event.on('upgrade',function(){

})
ljcarsenal
2016-01-20 17:09:36 +08:00
event.on('upgrade',function(){
//推送
})


//判断积分,若满足则
event.emit('upgrade')
SmiteChow
2016-01-20 18:20:37 +08:00
signal---task

实现这一层, task 可以是异步也可以是同步,应为异步。
xcaspar
2016-01-20 22:24:41 +08:00
同意 5 楼的观点,每个观察者里可以异步去处理消息

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/252132

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX