结合 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希望可以助你一臂之力。

你可能感兴趣的:(spring,exception,object,单元测试,脚本,商城)