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

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

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

解决方法:

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

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

在进一步审查SO之后,已经有了7000个主题.

特别值得注意的是“存储徽章标准的最佳方式”,包括events notification和“数据库架构为”徽章“系统”与overall architecture讨论.

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

标签:java,architecture,modularity,badge

来源: https://codeday.me/bug/20190621/1250559.html

java徽章_java – 设计可插拔的点和徽章系统相关推荐

  1. 拼图游戏java代码_java设计:拼图游戏 完整源码

    //July/设计. //我对有的老师,很无语./06.04/. //Puzzle.java ----------------------------------------------------- ...

  2. java时针_Java 设计一个clock类 要求实现时针,分针,秒针

    展开全部 /* * @(#)Clock.java 1.16 06/02/22 * * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Rese ...

  3. java 停车场_java 设计一个停车场

    属性: 车牌号 入场时间 出场时间 按月缴费标志 两个以上构造函数 一组set方法 一组get方法 从键盘输入属性的方法 显示属性方法(车牌号.入场时间.出场时间.停车费用) 获取出场时间 获取入场时 ...

  4. java web课程设计(简单商城的前后端双系统,基于maven三模块开发)

    1.系统分析 1.1需求分析 实现一个简单但功能完整的商城项目,从设计到实现,规范化完成该项目,锻炼javaweb项目的编写能力,理解软件工程的软件设计思想 1.2编程技术简介 本次课程主要使用的软件 ...

  5. java 监控usb端口插拔_监控USB设备插拔

    最近做了UKey加密中设计到USB设备. 因UKEy是用来加密和执行PC与项目间通信加密的介质.从作用范围来讲不是传统意义上U盘作为存储介质来使用.其实熟悉网银驱动DR应该了解.在网银系统安全上一个最 ...

  6. Java web课程设计-购物系统

    题目:网上购物系统 网上购物商店的分析与实现 一.实验目的 Java web课程设计是为了是计算机学院的学子深入学习java web应用开发设置的一门实验性的动手性的实践课程.是计算机科学与技术. 网 ...

  7. 基于JAVA银创科技有限公司人事信息系统计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA银创科技有限公司人事信息系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA银创科技有限公司人事信息系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目 ...

  8. 设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。 设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。

    代码 /* 开放型题目:设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法.设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义.设计一个鼠标 ...

  9. java 可插拔注解_20200311 8. 注解和可插拔性

    8. 注解和可插拔性 8.1 注解和可插拔性 在 web 应用中,使用注解的类仅当它们位于 WEB-INF/classes 目录中,或它们被打包到位于应用的WEB-INF/lib 中的 jar 文件中 ...

最新文章

  1. 剖析如何自己写框架Struts和Mybatis,学其原理而非重复造轮子
  2. IBM x61 安装 ViaVoice Virtual Audio Cable
  3. python为什么叫爬虫-可以写爬虫的那么多,为什么只有python火了?
  4. [转载] C++ std::vector指定位置插入
  5. 15. 发货选项(Shipping Options)
  6. java源代码反编译_XJad(Java源程序反编译软件)
  7. 获取微信jssdk权限影响ajax,微信jssdk中请求得到access_token遇到跨域问题,改写为jsonp,报错...
  8. 页面设计如何进行颜色搭配
  9. HTML表格边框空隙
  10. 面试前端程序员想拿 10K,面试官说你只值8K,如何应付?
  11. java计算机毕业设计自动化办公系统源码+mysql数据库+系统+lw文档+部署
  12. 新三级医院信息化建设解决方案
  13. 利用python制作小游戏
  14. 云中数据_免费备份和共享云中数据的最佳网站
  15. 【C++】STL(标准模板库)简介
  16. OSChina 周四乱弹 ——地主家的傻儿子
  17. 中投证券分析报告(0608)
  18. python大作战之*args和**kwargs的区别
  19. 构建Linux的蓝牙接口,再使用python的包pybluez,进行蓝牙通信
  20. Anaconda 配置清华源

热门文章

  1. 头痛的apk卡顿,我该从哪些方面进行优化?带你了解常见方案
  2. 蜂窝状/六边形格子网格的定位/坐标转换
  3. VSCode操作小技巧
  4. vue+ElementUI实现订单页动态添加产品效果
  5. 用python做一个文本翻译器,自动将中文翻译成英文,超方便的
  6. 如何通过交互设计增强用户体验
  7. linux看门狗使用
  8. PR和AE有什么区别?
  9. Nature:基于宏基因组测序构建人类肠道微生物组参考基因集
  10. 单元测试、API接口测试、灰盒测试