设计可插拔的点和徽章系统

Pre*_*hev 4 java architecture modularity badge

如何设计一个易于打开和关闭的可插拔点和徽章系统,以及易于变成自己的模块?

经过多次试验和错误后,我得出的结论是,点和徽章过于交织在应用程序的唯一业务逻辑中,它们无法以简单的方式外化(许多规则涉及理解应用程序的核心结构,这使得事物已经相当耦合)

我目前以简单的方式做所有事情 - 我在服务类的方法中外部化了所有业务逻辑(验证,持久性,游戏化,通知).然而,这些方法已经变得非常杂乱,我担心会很紧张.没有简单的方法来简单地关闭任何底层系统

Wal*_*r K 5

作为一个想法,如何将您关心的业务逻辑事件与您如何将它们作为点,徽章,级别解释为用户?因此,您可以在一个地方实施疯狂的东西,如Ball Buzz徽章,在足球赛季连续三个星期一购买咖啡.

从概念上讲,考虑将所有可能有趣的交易和交互的消息传递给此奖励模块,该模块封装(并隐藏会计师)这一有趣的功能.


在进一步审查SO之后,已经对该主题进行了实质性讨论.特别值得注意的是"存储徽章标准的最佳方式",涵盖事件通知和"数据库架构"徽章"系统",并进行整体架构讨论.

已经讨论了关系nosql/Mongodb数据库相对于这种特性的相对优点,以及将业务逻辑划分为存储过程.

在我看来,有很多重新发明轮子正在进行.有谁知道在这个领域出现的OSS框架或Github项目?此外,关于徽章的具体和游戏化的任何有价值的论文或文章一般吗?

  • 如果您正在进行游戏化,请确保完成Coursera课程,名称,您猜对了,游戏化:) (2认同)