java徽章实现问题
我正在设计一个网站,使用JSF+EJB+JPA等JavaEE6进行总结
您可以创建一篇文章,随着时间的推移,如果它满足某些条件(比如1000次浏览),它将被授予“1000次浏览徽章”
当我想动态创建新徽章时,问题就出现了。我有一个徽章实体类,所有徽章都是从数据库中获取的。由于行为取决于每个实例而不是其类型,我如何动态地为授予文章的徽章建立条件
例如,评估“1000次浏览量”徽章满足要求的业务逻辑与“本周最佳评价文章”中使用的业务逻辑非常不同。此外,如果徽章数量增加怎么办
我不能仅仅扩展一个类,因为它没有意义,所以我认为我没有正确看待这个问题
您对如何实施该计划有何想法
# 1 楼答案
实现一个@Singleton,它有一个方法在一段时间内运行一次(每小时或每24小时运行一次)。它将有一个类集合来检查帖子的某些条件。如果你想要一个新徽章,只需添加一个类
如果你不想每次都添加一个类,可以创建一些带有徽章颁发规则的xml文件,并创建一个checker工厂,它将使用这些xml文件构建徽章规则。然后,要添加徽章,只需添加一个xml即可