结合 spring ,使用QLExpress做一个淘宝的场景模型,对于场景的描述可以参照这个demo
结合 spring ,使用QLExpress做一个淘宝的场景模型,对于场景的描述可以参照这个demo。
下载最新的QlExpresss代码 http://code.taobao.org/svn/QLExpress/trunk
运行下 com.ql.util.express.test.demo.TestQlExpress 的单元测试,即可看到效果。
/** * 使用qlExpressUtil扩展了QlExpressRunner的expressContext参数, * 使脚本中可以直接调用spring中的bean * * 场景业务逻辑如下: * ****************************************************************** * * 用户qlExpress注册一个账号 * 用户qlExpress开了个淘宝店 * 通过自己的苦心经营,星级不断升高,qlExpress不断的期望着能够地店铺升级为商城用户 * 终于有一天他成功了,成功升级为商城用户。 * * ****************************************************************** * @throws Exception */ @org.junit.Test public void testScript() throws Exception{ Map<String, Object> context = new HashMap<String, Object>(); context.put("nick", "qlExpress"); qlExpressUtil.execute("用户A = bizLogicBean.signUser(nick);" + "bizLogicBean.openShop(用户A );" + "for(;; bizLogicBean.isShopOpening(用户A ) && !bizLogicBean.upgradeShop(用户A )){bizLogicBean.addScore(用户A );}", context); } /** * * 使用预先定义的函数,脚本即逻辑: * ****************************************************************** * * "用户A = 注册用户(nick);" + * "开店(用户A);" + * "for(;;店铺营业中(用户A) && !店铺升级(用户A)){星级自增(用户A);} * * ****************************************************************** * @throws Exception */ @org.junit.Test public void testDeclareMethodScript() throws Exception{ Map<String, Object> context = new HashMap<String, Object>(); context.put("nick", "qlExpress"); qlExpressUtil.execute("用户A = 注册用户(nick);" + "开店(用户A);" + "for(;;店铺营业中(用户A) && !店铺升级(用户A)){星级自增(用户A);}", context); }
有兴趣的可以运行下看看效果,把业务规则描述为一段中文文本恐怕是很多产品经理的梦想吧,QLexpress希望可以助你一臂之力。
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。