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

Java 设计一个可插拔的点和徽章系统,java,architecture,modularity,badge,Java,Architecture,Modularity,Badge,我如何设计一个易于打开和关闭的可插拔点和徽章系统,以及易于转换为自己的模块 经过多次尝试和错误后,我得出结论:点数和徽章过于纠缠在应用程序的唯一业务逻辑中,它们无法以简单的方式外部化(许多规则涉及对应用程序核心结构的理解,这使得事情已经非常耦合) 我现在用一种简单的方式做每件事——我将所有业务逻辑(验证、持久性、游戏化、通知)外部化到服务类的方法中。然而,这些方法已经变得相当混乱,而且我担心它们会相互耦合。没有简单的方法可以简单地关闭任何底层系统。作为一种想法,如何将您关心的业务逻辑事件与您如何

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

经过多次尝试和错误后,我得出结论:点数和徽章过于纠缠在应用程序的唯一业务逻辑中,它们无法以简单的方式外部化(许多规则涉及对应用程序核心结构的理解,这使得事情已经非常耦合)


我现在用一种简单的方式做每件事——我将所有业务逻辑(验证、持久性、游戏化、通知)外部化到服务类的方法中。然而,这些方法已经变得相当混乱,而且我担心它们会相互耦合。没有简单的方法可以简单地关闭任何底层系统。作为一种想法,如何将您关心的业务逻辑事件与您如何将它们作为点、徽章、级别向用户解释的方式分离?这样,你就可以在一个地方实施一些疯狂的东西,比如足球赛季中连续三个星期一买咖啡的球口碑

从概念上讲,考虑将所有可能感兴趣的交易和交互的消息传递给这个奖励模块,该模块封装(并隐藏)了这个有趣的功能


在进一步审查SO后,已对主题事项进行了详细审查。 特别值得注意的是“存储徽章标准的最佳方法”和“徽章”系统的数据库体系结构”,并进行了讨论

对于这种特性,已经讨论了vs./数据库的相对优点,以及将业务逻辑划分为多个部分


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

显然,这些天有(商业)的游戏化API,他们被告知BigDoor是一个主要参与者。更多研究-OSS实现如果你对游戏化感兴趣,请确保完成Coursera上的课程,名为,你猜对了,游戏化:)