基本信息
案例ID:126255
技术顾问:Shane Li - CIKERS - 10年经验 - 赛客 CIKERS / β tech
项目名称:Spads 公式解析系统
->查看更多案例案例ID:126255
技术顾问:Shane Li - CIKERS - 10年经验 - 赛客 CIKERS / β tech
项目名称:Spads 公式解析系统
->查看更多案例
很多网络应用中,涉及到一些内部运算的具体求值逻辑并不能够在开发阶段就定下来。这些逻辑需要随着使用,探测用户反应,不断修正。符合的情况,常见的就是网络游戏中的行动收获计算公式,等等。现 Spads 开发组推出了针对此种情况的解析公式系统,供大家使用。
此公式解析系统能够计算各种算术运算、逻辑运算和比较运算,可以连接本地函数,支持括号分级,允许逐级设置公式内临时变量,提供了分支运算符,并且支持 Json 数据格式的运算。系统编写中使用了很多设计方法,包括概念抽取、继承、多态、面向接口设计、枚举、递归、工厂等等。数据结构也使用了好用但少见的双端队列。很适合对应情况的实用以及学习 Java 的设计思路、编程方式。本程序由 Shane Loo LI 设计和编写,所有的细节都注重了运行效率,在很多细节上都制作了数倍优于爪哇(Java)系统类库的方法;由于只需要处理公式,所以语法树结构单一,也因此保证了比现有其它注入语言的代码解释器更高的执行速度。