用BeanShell实现公式管理:使用Java脚本构建强大、灵活的公式管理系统
2010-03-18 00:00:00 来源:WEB开发网查看原图(大图)
最后,我们给出一个测试用例来说明如何使用该系统。公式库中有两个公式,一个用来计算商品折扣价格,一个用来计算职员奖金。我们将公式包含的参数值传给系统外部接口。见下面代码:
清单4.
FormulaParser fp= new FormulaParser();
Hashtable paras= new Hashtable();
paras.put("price", new Double(100.0));
//价格paras.put("discount", new Double(0.9));
//折扣率为0.9
System.out.println("计算结果:"+ fp.caculateByFormula(fp.loadFormula("1001"), paras));
//遵照公式1001计算,计算预期结果为90.0
FormulaParser fp1= new FormulaParser();
Hashtable paras1= new Hashtable();
paras1.put("sale", new Double(11000.0));
//销售额
paras1.put("score", new Double(0.8));
//表现得分
System.out.println("计算结果:"+ fp1.caculateByFormula(fp1.loadFormula("1002"), paras1));
// 遵照公式1002计算,计算预期结果为9100.0
程序输出为:
计算结果:90.0
计算结果:9100.0
与预期结果完全一致。开发环境为JDK1.3.1。
结束语
这就是BeanShell给我们带来的奇妙体验。并且,基于BeanShell的公式管理系统是一个很有用的工具。你可以试着将更多的运算法则加入到系统的计算器中,试着扩展该公式系统以集成到你目前的工作当中,你也可以提供一个非常友好的界面给用户,让他们轻松的定制自己的公式。一个增强功能的公式管理系统已经成功应用到笔者参与的一个电信系统中。当然,本文的方法可能不是最好的,欢迎你与我讨论。系统相关的源代码你可以在参考资料中找到。衷心希望“开源世界里充满了思想者。”
更多精彩
赞助商链接