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

时间:2012-03-23 07:09:01

标签: java architecture modularity badge

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

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

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

1 个答案:

答案 0 :(得分:5)

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

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


在进一步审查SO之后,已经有substantial discussion主题事项。 特别值得注意的是“通过events notification讨论涵盖overall architecture和”徽章“系统”数据库架构“的”存储徽章标准的最佳方式“。

已经讨论了relationalnosql / Mongodb数据库相对于此类功能的优点,以及将业务逻辑划分为stored procedures

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