java徽章_java – 设计可插拔的点和徽章系统
如何设计一个易于打开和关闭的可插拔点和徽章系统,以及易于变成自己的模块?
经过多次试验和错误后,我得出的结论是,点和徽章只是过于交织在应用程序的唯一业务逻辑中,它们无法以简单的方式外化(许多规则涉及理解应用程序的核心结构,这使得事物已经相当耦合)
我目前以简单的方式做所有事情 – 我在服务类的方法中外部化了所有业务逻辑(验证,持久性,游戏化,通知).然而,这些方法已经变得非常杂乱,我担心会很紧张.没有简单的方法来简单地关闭任何底层系统
解决方法:
作为一个想法,如何将您关心的业务逻辑事件与您如何将它们作为点,徽章,级别解释为用户?因此,您可以在一个地方实施疯狂的东西,如Ball Buzz徽章,在足球赛季中连续三个星期一购买咖啡.
从概念上讲,考虑将所有可能有趣的交易和交互的消息传递给此奖励模块,该模块封装(并隐藏会计师)这一有趣的功能.
在进一步审查SO之后,已经有了7000个主题.
特别值得注意的是“存储徽章标准的最佳方式”,包括events notification和“数据库架构为”徽章“系统”与overall architecture讨论.
在我看来,有很多重新发明轮子正在进行.有谁知道在这个领域出现的OSS框架或Github项目?此外,关于徽章的具体和游戏化的任何有价值的论文或文章一般吗?
标签:java,architecture,modularity,badge
来源: https://codeday.me/bug/20190621/1250559.html
java徽章_java – 设计可插拔的点和徽章系统相关推荐
- 拼图游戏java代码_java设计:拼图游戏 完整源码
//July/设计. //我对有的老师,很无语./06.04/. //Puzzle.java ----------------------------------------------------- ...
- java时针_Java 设计一个clock类 要求实现时针,分针,秒针
展开全部 /* * @(#)Clock.java 1.16 06/02/22 * * Copyright (c) 2006 Sun Microsystems, Inc. All Rights Rese ...
- java 停车场_java 设计一个停车场
属性: 车牌号 入场时间 出场时间 按月缴费标志 两个以上构造函数 一组set方法 一组get方法 从键盘输入属性的方法 显示属性方法(车牌号.入场时间.出场时间.停车费用) 获取出场时间 获取入场时 ...
- java web课程设计(简单商城的前后端双系统,基于maven三模块开发)
1.系统分析 1.1需求分析 实现一个简单但功能完整的商城项目,从设计到实现,规范化完成该项目,锻炼javaweb项目的编写能力,理解软件工程的软件设计思想 1.2编程技术简介 本次课程主要使用的软件 ...
- java 监控usb端口插拔_监控USB设备插拔
最近做了UKey加密中设计到USB设备. 因UKEy是用来加密和执行PC与项目间通信加密的介质.从作用范围来讲不是传统意义上U盘作为存储介质来使用.其实熟悉网银驱动DR应该了解.在网银系统安全上一个最 ...
- Java web课程设计-购物系统
题目:网上购物系统 网上购物商店的分析与实现 一.实验目的 Java web课程设计是为了是计算机学院的学子深入学习java web应用开发设置的一门实验性的动手性的实践课程.是计算机科学与技术. 网 ...
- 基于JAVA银创科技有限公司人事信息系统计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA银创科技有限公司人事信息系统计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA银创科技有限公司人事信息系统计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目 ...
- 设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法。 设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义。
代码 /* 开放型题目:设计一个笔记本电脑类,属性随意,并且进行属性私有化,对外提供公开的set和get方法.设计一个可插拔的接口:InsertDrawable,该接口有什么方法自行定义.设计一个鼠标 ...
- java 可插拔注解_20200311 8. 注解和可插拔性
8. 注解和可插拔性 8.1 注解和可插拔性 在 web 应用中,使用注解的类仅当它们位于 WEB-INF/classes 目录中,或它们被打包到位于应用的WEB-INF/lib 中的 jar 文件中 ...
最新文章
- 剖析如何自己写框架Struts和Mybatis,学其原理而非重复造轮子
- IBM x61 安装 ViaVoice Virtual Audio Cable
- python为什么叫爬虫-可以写爬虫的那么多,为什么只有python火了?
- [转载] C++ std::vector指定位置插入
- 15. 发货选项(Shipping Options)
- java源代码反编译_XJad(Java源程序反编译软件)
- 获取微信jssdk权限影响ajax,微信jssdk中请求得到access_token遇到跨域问题,改写为jsonp,报错...
- 页面设计如何进行颜色搭配
- HTML表格边框空隙
- 面试前端程序员想拿 10K,面试官说你只值8K,如何应付?
- java计算机毕业设计自动化办公系统源码+mysql数据库+系统+lw文档+部署
- 新三级医院信息化建设解决方案
- 利用python制作小游戏
- 云中数据_免费备份和共享云中数据的最佳网站
- 【C++】STL(标准模板库)简介
- OSChina 周四乱弹 ——地主家的傻儿子
- 中投证券分析报告(0608)
- python大作战之*args和**kwargs的区别
- 构建Linux的蓝牙接口,再使用python的包pybluez,进行蓝牙通信
- Anaconda 配置清华源