如何设计一个易于打开和关闭的可插拔点和徽章系统,以及易于变成自己的模块?
经过多次试验和错误后,我得出的结论是,点和徽章只是过于交织在应用程序的唯一业务逻辑中,它们无法以简单的方式外化(许多规则涉及理解应用程序的核心结构,这使得事物已经相当耦合)
我目前以简单的方式做所有事情 – 我在服务类的方法中外部化了所有业务逻辑(验证,持久性,游戏化,通知).然而,这些方法已经变得非常杂乱,我担心会很紧张.没有简单的方法来简单地关闭任何底层系统
解决方法:
作为一个想法,如何将您关心的业务逻辑事件与您如何将它们作为点,徽章,级别解释为用户?因此,您可以在一个地方实施疯狂的东西,如Ball Buzz徽章,在足球赛季中连续三个星期一购买咖啡.
从概念上讲,考虑将所有可能有趣的交易和交互的消息传递给此奖励模块,该模块封装(并隐藏会计师)这一有趣的功能.
在进一步审查SO之后,已经有了7000个主题.
特别值得注意的是“存储徽章标准的最佳方式”,包括events notification和“数据库架构为”徽章“系统”与overall architecture讨论.
已经讨论了relational与nosql/Mongodb数据库相对于此类功能的优点,以及将业务逻辑划分为stored procedures.
在我看来,有很多重新发明*正在进行.有谁知道在这个领域出现的OSS框架或Github项目?此外,关于徽章的具体和游戏化的任何有价值的论文或文章一般吗?